Package org.glassfish.jersey.jetty
Class JettyHttpContainer
- java.lang.Object
-
- org.eclipse.jetty.util.component.AbstractLifeCycle
-
- org.eclipse.jetty.util.component.ContainerLifeCycle
-
- org.eclipse.jetty.server.handler.AbstractHandler
-
- org.glassfish.jersey.jetty.JettyHttpContainer
-
- All Implemented Interfaces:
org.eclipse.jetty.server.Handler,org.eclipse.jetty.util.component.Container,org.eclipse.jetty.util.component.Destroyable,org.eclipse.jetty.util.component.Dumpable,org.eclipse.jetty.util.component.Dumpable.DumpableContainer,org.eclipse.jetty.util.component.LifeCycle,Container
public final class JettyHttpContainer extends org.eclipse.jetty.server.handler.AbstractHandler implements Container
JerseyContainerimplementation based on JettyHandler.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classJettyHttpContainer.JettyBinderAn internal binder to enable Jetty HTTP container specific types injection.private static classJettyHttpContainer.JettyRequestReferencingFactoryReferencing factory for Jetty request.private static classJettyHttpContainer.JettyResponseReferencingFactoryReferencing factory for Jetty response.private static classJettyHttpContainer.ResponseWriter-
Nested classes/interfaces inherited from class org.eclipse.jetty.server.handler.AbstractHandler
org.eclipse.jetty.server.handler.AbstractHandler.ErrorDispatchHandler
-
Nested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
org.eclipse.jetty.util.component.AbstractLifeCycle.AbstractLifeCycleListener
-
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Container
org.eclipse.jetty.util.component.Container.InheritedListener, org.eclipse.jetty.util.component.Container.Listener
-
-
Field Summary
Fields Modifier and Type Field Description private ApplicationHandlerappHandlerprivate booleanconfigSetStatusOverSendErrorCached value of configuration propertyServerProperties.RESPONSE_SET_STATUS_OVER_SEND_ERROR.private static intINTERNAL_SERVER_ERRORprivate static ExtendedLoggerLOGGERprivate static java.lang.reflect.TypeREQUEST_TYPEprivate static java.lang.reflect.TypeRESPONSE_TYPE-
Fields inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
FAILED, RUNNING, STARTED, STARTING, STOPPED, STOPPING
-
Fields inherited from interface org.glassfish.jersey.server.spi.Container
DEFAULT_HTTP_PORT, DEFAULT_HTTPS_PORT
-
-
Constructor Summary
Constructors Constructor Description JettyHttpContainer(javax.ws.rs.core.Application application)Create a new Jetty HTTP container.JettyHttpContainer(javax.ws.rs.core.Application application, java.lang.Object parentContext)Create a new Jetty HTTP container.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidcacheConfigSetStatusOverSendError()The method reads and caches value of configuration propertyServerProperties.RESPONSE_SET_STATUS_OVER_SEND_ERRORfor future purposes.protected voiddoStart()Inform this container that the server has been started.voiddoStop()Inform this container that the server is being stopped.ApplicationHandlergetApplicationHandler()Get the Jersey server-side application handler associated with the container.private java.lang.StringgetBasePath(org.eclipse.jetty.server.Request request)private java.net.URIgetBaseUri(org.eclipse.jetty.server.Request request)ResourceConfiggetConfiguration()Return an immutable representation of the currentconfiguration.private java.net.URIgetRequestUri(org.eclipse.jetty.server.Request request, java.net.URI baseUri)private javax.ws.rs.core.SecurityContextgetSecurityContext(org.eclipse.jetty.server.Request request)private java.lang.StringgetServerAddress(java.net.URI baseUri)voidhandle(java.lang.String target, org.eclipse.jetty.server.Request request, javax.servlet.http.HttpServletRequest httpServletRequest, javax.servlet.http.HttpServletResponse httpServletResponse)voidreload()Reload the hosted Jersey application using the currentconfiguration.voidreload(ResourceConfig configuration)Reload the hosted Jersey application using a newconfiguration.-
Methods inherited from class org.eclipse.jetty.server.handler.AbstractHandler
destroy, doError, getServer, setServer
-
Methods inherited from class org.eclipse.jetty.util.component.ContainerLifeCycle
addBean, addBean, addEventListener, addManaged, contains, dump, dump, dump, dump, dump, dumpBeans, dumpObject, dumpObjects, dumpStdErr, dumpThis, getBean, getBeans, getBeans, getContainedBeans, getContainedBeans, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, setStopTimeout, start, stop, unmanage, updateBean, updateBean, updateBeans
-
Methods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
addLifeCycleListener, getState, getState, getStopTimeout, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop, toString
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
-
-
-
Field Detail
-
LOGGER
private static final ExtendedLogger LOGGER
-
REQUEST_TYPE
private static final java.lang.reflect.Type REQUEST_TYPE
-
RESPONSE_TYPE
private static final java.lang.reflect.Type RESPONSE_TYPE
-
INTERNAL_SERVER_ERROR
private static final int INTERNAL_SERVER_ERROR
-
configSetStatusOverSendError
private boolean configSetStatusOverSendError
Cached value of configuration propertyServerProperties.RESPONSE_SET_STATUS_OVER_SEND_ERROR. IftruemethodHttpServletResponse.setStatus(int)is used overHttpServletResponse.sendError(int, java.lang.String).
-
appHandler
private volatile ApplicationHandler appHandler
-
-
Constructor Detail
-
JettyHttpContainer
JettyHttpContainer(javax.ws.rs.core.Application application, java.lang.Object parentContext)Create a new Jetty HTTP container.- Parameters:
application- JAX-RS / Jersey application to be deployed on Jetty HTTP container.parentContext- DI provider specific context with application's registered bindings.
-
JettyHttpContainer
JettyHttpContainer(javax.ws.rs.core.Application application)
Create a new Jetty HTTP container.- Parameters:
application- JAX-RS / Jersey application to be deployed on Jetty HTTP container.
-
-
Method Detail
-
handle
public void handle(java.lang.String target, org.eclipse.jetty.server.Request request, javax.servlet.http.HttpServletRequest httpServletRequest, javax.servlet.http.HttpServletResponse httpServletResponse) throws java.io.IOException, javax.servlet.ServletException- Specified by:
handlein interfaceorg.eclipse.jetty.server.Handler- Specified by:
handlein classorg.eclipse.jetty.server.handler.AbstractHandler- Throws:
java.io.IOExceptionjavax.servlet.ServletException
-
getRequestUri
private java.net.URI getRequestUri(org.eclipse.jetty.server.Request request, java.net.URI baseUri)
-
getServerAddress
private java.lang.String getServerAddress(java.net.URI baseUri)
-
getSecurityContext
private javax.ws.rs.core.SecurityContext getSecurityContext(org.eclipse.jetty.server.Request request)
-
getBaseUri
private java.net.URI getBaseUri(org.eclipse.jetty.server.Request request)
-
getBasePath
private java.lang.String getBasePath(org.eclipse.jetty.server.Request request)
-
getConfiguration
public ResourceConfig getConfiguration()
Description copied from interface:ContainerReturn an immutable representation of the currentconfiguration.- Specified by:
getConfigurationin interfaceContainer- Returns:
- current configuration of the hosted Jersey application.
-
reload
public void reload()
Description copied from interface:ContainerReload the hosted Jersey application using the currentconfiguration.
-
reload
public void reload(ResourceConfig configuration)
Description copied from interface:ContainerReload the hosted Jersey application using a newconfiguration.
-
getApplicationHandler
public ApplicationHandler getApplicationHandler()
Description copied from interface:ContainerGet the Jersey server-side application handler associated with the container.- Specified by:
getApplicationHandlerin interfaceContainer- Returns:
- Jersey server-side application handler associated with the container.
-
doStart
protected void doStart() throws java.lang.ExceptionInform this container that the server has been started. This method must be implicitly called after the server containing this container is started.- Overrides:
doStartin classorg.eclipse.jetty.server.handler.AbstractHandler- Throws:
java.lang.Exception- if a problem occurred during server startup.
-
doStop
public void doStop() throws java.lang.ExceptionInform this container that the server is being stopped. This method must be implicitly called before the server containing this container is stopped.- Overrides:
doStopin classorg.eclipse.jetty.server.handler.AbstractHandler- Throws:
java.lang.Exception- if a problem occurred during server shutdown.
-
cacheConfigSetStatusOverSendError
private void cacheConfigSetStatusOverSendError()
The method reads and caches value of configuration propertyServerProperties.RESPONSE_SET_STATUS_OVER_SEND_ERRORfor future purposes.
-
-