Class LongpollTransportServlet
java.lang.Object
jakarta.servlet.GenericServlet
jakarta.servlet.http.HttpServlet
com.levigo.jadice.web.transport.server.networking.AbstractTransportServlet<LongpollTransportServlet.LongpollSession>
com.levigo.jadice.web.transport.server.networking.longpoll.LongpollTransportServlet
- All Implemented Interfaces:
jakarta.servlet.Servlet
,jakarta.servlet.ServletConfig
,Serializable
@WebServlet(asyncSupported=true,
name="jwtLongpollServlet",
urlPatterns="/jwt/transport/longpoll/*")
public class LongpollTransportServlet
extends AbstractTransportServlet<LongpollTransportServlet.LongpollSession>
The LongpollTransportServlet dispatches all incoming and/or outgoing messages using a longpoll
mechanism. In addition to the longpoll mechanism that is able to send message batches, it
emulates a full-duplex communication with the client, by holding a non-longpoll request open in
order to push subsequently messages to the client.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionclass
Represents a longpoll session for a single client.Nested classes/interfaces inherited from class com.levigo.jadice.web.transport.server.networking.AbstractTransportServlet
AbstractTransportServlet.AbstractTransportSession
-
Field Summary
FieldsFields inherited from class com.levigo.jadice.web.transport.server.networking.AbstractTransportServlet
timerService, transportManager
Fields inherited from class jakarta.servlet.http.HttpServlet
LEGACY_DO_HEAD
-
Constructor Summary
ConstructorsConstructorDescriptionLongpollTransportServlet
(com.levigo.jadice.web.transport.server.session.internal.TransportManagerInternal transportManager) -
Method Summary
Modifier and TypeMethodDescriptionprotected LongpollTransportServlet.LongpollSession
createTransportSession
(ClientSession client) Creates a new transport session of the typeT
for the givenClientSession
.protected void
doPost
(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) void
init
(jakarta.servlet.ServletConfig config) Methods inherited from class com.levigo.jadice.web.transport.server.networking.AbstractTransportServlet
configureNoCache, configureResponse, destroy, getConfig, getMaxMessageSize, getTransportSession, service
Methods inherited from class jakarta.servlet.http.HttpServlet
doDelete, doGet, doHead, doOptions, doPut, doTrace, getLastModified, service
Methods inherited from class jakarta.servlet.GenericServlet
getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log
-
Field Details
-
LOGGER
public static final org.jadice.util.log.Logger LOGGER
-
-
Constructor Details
-
LongpollTransportServlet
public LongpollTransportServlet() -
LongpollTransportServlet
public LongpollTransportServlet(com.levigo.jadice.web.transport.server.session.internal.TransportManagerInternal transportManager)
-
-
Method Details
-
createTransportSession
Description copied from class:AbstractTransportServlet
Creates a new transport session of the typeT
for the givenClientSession
.- Specified by:
createTransportSession
in classAbstractTransportServlet<LongpollTransportServlet.LongpollSession>
- Parameters:
client
- The client session to create a transport session for.- Returns:
- The newly created transport session.
-
doPost
protected void doPost(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) throws jakarta.servlet.ServletException, IOException - Overrides:
doPost
in classjakarta.servlet.http.HttpServlet
- Throws:
jakarta.servlet.ServletException
IOException
-
init
public void init(jakarta.servlet.ServletConfig config) throws jakarta.servlet.ServletException - Specified by:
init
in interfacejakarta.servlet.Servlet
- Overrides:
init
in classAbstractTransportServlet<LongpollTransportServlet.LongpollSession>
- Throws:
jakarta.servlet.ServletException
-