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
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 TypeClassDescriptionclassRepresents 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, transportManagerFields 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.LongpollSessioncreateTransportSession(ClientSession client) Creates a new transport session of the typeTfor the givenClientSession.protected voiddoPost(jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response) voidinit(jakarta.servlet.ServletConfig config) voidsetTracer(io.opentelemetry.api.trace.Tracer tracer) Methods inherited from class com.levigo.jadice.web.transport.server.networking.AbstractTransportServlet
configureNoCache, configureResponse, destroy, getConfig, getMaxMessageSize, getTransportSession, serviceMethods inherited from class jakarta.servlet.http.HttpServlet
doDelete, doGet, doHead, doOptions, doPut, doTrace, getLastModified, serviceMethods 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:AbstractTransportServletCreates a new transport session of the typeTfor the givenClientSession.- Specified by:
createTransportSessionin 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:
doPostin classjakarta.servlet.http.HttpServlet- Throws:
jakarta.servlet.ServletExceptionIOException
-
init
public void init(jakarta.servlet.ServletConfig config) throws jakarta.servlet.ServletException - Specified by:
initin interfacejakarta.servlet.Servlet- Overrides:
initin classAbstractTransportServlet<LongpollTransportServlet.LongpollSession>- Throws:
jakarta.servlet.ServletException
-
setTracer
public void setTracer(io.opentelemetry.api.trace.Tracer tracer)
-