|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.atmosphere.cpr.AtmosphereFramework
public class AtmosphereFramework
The AtmosphereFramework is the entry point for the framework. This class can be used to from Servlet/filter
to dispatch AtmosphereRequest and AtmosphereResponse. The framework can also be configured using
the setXXX method. The life cycle of this class is
AtmosphereFramework f = new AtmosphereFramework(); f.init(); f.doCometSupport(AtmosphereRequest, AtmosphereResource); f.destroy();
| Nested Class Summary | |
|---|---|
static class |
AtmosphereFramework.AtmosphereHandlerWrapper
|
| Constructor Summary | |
|---|---|
AtmosphereFramework()
Create an AtmosphereFramework. |
|
AtmosphereFramework(boolean isFilter,
boolean autoDetectHandlers)
Create an AtmosphereFramework. |
|
AtmosphereFramework(javax.servlet.ServletConfig sc)
Create an AtmosphereFramework and initialize it via init(javax.servlet.ServletConfig). |
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final String DEFAULT_ATMOSPHERE_CONFIG_PATH
public static final String DEFAULT_LIB_PATH
public static final String DEFAULT_HANDLER_PATH
public static final String MAPPING_REGEX
public static final String ROOT
protected static final org.slf4j.Logger logger
protected final List<String> broadcasterFilters
protected final List<AsyncSupportListener> asyncSupportListeners
protected final ArrayList<String> possibleComponentsCandidate
protected final HashMap<String,String> initParams
protected final AtmosphereConfig config
protected final AtomicBoolean isCometSupportConfigured
protected final boolean isFilter
protected final Map<String,AtmosphereFramework.AtmosphereHandlerWrapper> atmosphereHandlers
protected final ConcurrentLinkedQueue<String> broadcasterTypes
protected final ConcurrentLinkedQueue<BroadcasterCacheInspector> inspectors
protected String mappingRegex
protected boolean useNativeImplementation
protected boolean useBlockingImplementation
protected boolean useStreamForFlushingComments
protected boolean useServlet30
protected AsyncSupport asyncSupport
protected String broadcasterClassName
protected boolean isCometSupportSpecified
protected boolean isBroadcasterSpecified
protected boolean isSessionSupportSpecified
protected boolean isThrowExceptionOnClonedRequestSpecified
protected BroadcasterFactory broadcasterFactory
protected String broadcasterFactoryClassName
protected String broadcasterCacheClassName
protected boolean webSocketEnabled
protected String broadcasterLifeCyclePolicy
protected String webSocketProtocolClassName
protected WebSocketProtocol webSocketProtocol
protected String handlersPath
protected javax.servlet.ServletConfig servletConfig
protected boolean autoDetectHandlers
protected String atmosphereDotXmlPath
protected final LinkedList<AtmosphereInterceptor> interceptors
protected boolean scanDone
protected String annotationProcessorClassName
protected final List<BroadcasterListener> broadcasterListeners
protected String webSocketProcessorClassName
protected boolean webSocketProtocolInitialized
protected EndpointMapper<AtmosphereFramework.AtmosphereHandlerWrapper> endpointMapper
protected String libPath
protected boolean isInit
protected boolean sharedThreadPools
protected final List<String> packages
protected final LinkedList<String> annotationPackages
protected boolean allowAllClassesScan
protected boolean annotationFound
protected boolean executeFirstSet
protected final Class<? extends AtmosphereInterceptor>[] defaultInterceptors
public static final AtmosphereHandler REFLECTOR_ATMOSPHEREHANDLER
AbstractReflectorAtmosphereHandler.
| Constructor Detail |
|---|
public AtmosphereFramework()
public AtmosphereFramework(javax.servlet.ServletConfig sc)
throws javax.servlet.ServletException
init(javax.servlet.ServletConfig).
javax.servlet.ServletException
public AtmosphereFramework(boolean isFilter,
boolean autoDetectHandlers)
isFilter - true if this instance is used as an AtmosphereFilter| Method Detail |
|---|
public AtmosphereFramework addAtmosphereHandler(String mapping,
AtmosphereHandler h,
List<AtmosphereInterceptor> l)
AtmosphereHandler serviced by the Servlet
This API is exposed to allow embedding an Atmosphere application.
mapping - The servlet mapping (servlet path)h - implementation of an AtmosphereHandlerl - An array of AtmosphereInterceptor.
public AtmosphereFramework addAtmosphereHandler(String mapping,
AtmosphereHandler h)
AtmosphereHandler serviced by the Servlet
This API is exposed to allow embedding an Atmosphere application.
mapping - The servlet mapping (servlet path)h - implementation of an AtmosphereHandler
public AtmosphereFramework addAtmosphereHandler(String mapping,
AtmosphereHandler h,
String broadcasterId,
List<AtmosphereInterceptor> l)
AtmosphereHandler serviced by the Servlet.
This API is exposed to allow embedding an Atmosphere application.
mapping - The servlet mapping (servlet path)h - implementation of an AtmosphereHandlerbroadcasterId - The Broadcaster.getID() value.l - An attay of AtmosphereInterceptor
public AtmosphereFramework addAtmosphereHandler(String mapping,
AtmosphereHandler h,
String broadcasterId)
AtmosphereHandler serviced by the Servlet.
This API is exposed to allow embedding an Atmosphere application.
mapping - The servlet mapping (servlet path)h - implementation of an AtmosphereHandlerbroadcasterId - The Broadcaster.getID() value
public AtmosphereFramework addAtmosphereHandler(String mapping,
AtmosphereHandler h,
Broadcaster broadcaster,
List<AtmosphereInterceptor> l)
AtmosphereHandler serviced by the Servlet.
This API is exposed to allow embedding an Atmosphere application.
mapping - The servlet mapping (servlet path)h - implementation of an AtmosphereHandlerbroadcaster - The Broadcaster associated with AtmosphereHandlerl - A list of AtmosphereInterceptors
public AtmosphereFramework addAtmosphereHandler(String mapping,
AtmosphereHandler h,
Broadcaster broadcaster)
AtmosphereHandler serviced by the Servlet.
This API is exposed to allow embedding an Atmosphere application.
mapping - The servlet mapping (servlet path)h - implementation of an AtmosphereHandlerbroadcaster - The Broadcaster associated with AtmosphereHandler.public AtmosphereFramework removeAtmosphereHandler(String mapping)
AtmosphereHandler.
mapping - the mapping used when invoking addAtmosphereHandler(String, AtmosphereHandler);
public AtmosphereFramework removeAllAtmosphereHandler()
AtmosphereHandlers.
public AtmosphereFramework removeAllInitParams()
public AtmosphereFramework addInitParameter(String name,
String value)
name - The namevalue - The valueprotected void readSystemProperties()
public void patchContainer()
public AtmosphereFramework init()
public AtmosphereFramework init(javax.servlet.ServletConfig sc)
throws javax.servlet.ServletException
ServletContext.
sc - the ServletContext
javax.servlet.ServletExceptionprotected void preventOOM()
public AtmosphereFramework init(javax.servlet.ServletConfig sc,
boolean wrap)
throws javax.servlet.ServletException
ServletContext.
sc - the ServletContext
javax.servlet.ServletExceptionprotected void analytics()
protected void configureAtmosphereInterceptor(javax.servlet.ServletConfig sc)
AtmosphereInterceptor.
sc - a ServletConfigprotected AtmosphereInterceptor newAInterceptor(Class<? extends AtmosphereInterceptor> a)
protected void initGlobalInterceptors()
protected void initHandlerInterceptors(AtmosphereFramework.AtmosphereHandlerWrapper w)
protected void initInterceptors()
protected void configureWebDotXmlAtmosphereHandler(javax.servlet.ServletConfig sc)
protected void configureScanningPackage(javax.servlet.ServletConfig sc)
public void configureBroadcasterFactory()
protected void configureBroadcaster()
protected void installAnnotationProcessor(javax.servlet.ServletConfig sc)
protected void doInitParamsForWebSocket(javax.servlet.ServletConfig sc)
protected void doInitParams(javax.servlet.ServletConfig sc)
sc - ServletConfig
public void loadConfiguration(javax.servlet.ServletConfig sc)
throws javax.servlet.ServletException
javax.servlet.ServletException
protected boolean detectSupportedFramework(javax.servlet.ServletConfig sc)
throws ClassNotFoundException,
IllegalAccessException,
InstantiationException,
NoSuchMethodException,
InvocationTargetException
sc - ServletConfig
ClassNotFoundException
IllegalAccessException
InstantiationException
NoSuchMethodException
InvocationTargetExceptionprotected String lookupDefaultBroadcasterType(String defaultB)
public void sessionSupport(boolean sessionSupport)
public void initAtmosphereHandler(javax.servlet.ServletConfig sc)
throws javax.servlet.ServletException
AtmosphereServletProcessor.
sc - the ServletConfig
javax.servlet.ServletExceptionpublic void initWebSocket()
public void initEndpointMapper()
public AtmosphereFramework destroy()
protected void loadAtmosphereDotXml(InputStream stream,
URLClassLoader c)
throws IOException,
javax.servlet.ServletException
stream - The input stream we read from.c - The classloader
IOException
javax.servlet.ServletExceptionpublic AtmosphereFramework setAsyncSupport(AsyncSupport asyncSupport)
AsyncSupport implementation. Make sure you don't set an implementation that only works on
some container. See BlockingIOCometSupport for an example.
asyncSupport - public AtmosphereFramework setCometSupport(AsyncSupport asyncSupport)
asyncSupport -
public AsyncSupport getAsyncSupport()
AsyncSupport.
AsyncSupportpublic AsyncSupport getCometSupport()
AsyncSupport.
AsyncSupportprotected AsyncSupportResolver createAsyncSupportResolver()
AsyncSupportResolver.
protected void autoDetectContainer()
public void autoDetectAtmosphereHandlers(javax.servlet.ServletContext servletContext,
URLClassLoader classloader)
throws MalformedURLException,
URISyntaxException
AtmosphereHandler in case META-INF/atmosphere.xml
is missing.
servletContext - ServletContextclassloader - URLClassLoader to load the class.
MalformedURLException
URISyntaxException
public void loadAtmosphereHandlersFromPath(URLClassLoader classloader,
String realPath)
protected void autoDetectWebSocketHandler(javax.servlet.ServletContext servletContext,
URLClassLoader classloader)
throws MalformedURLException,
URISyntaxException
WebSocketHandler in case META-INF/atmosphere.xml
is missing.
servletContext - ServletContextclassloader - URLClassLoader to load the class.
MalformedURLException
URISyntaxException
protected void loadWebSocketFromPath(URLClassLoader classloader,
String realPath)
public AtmosphereFramework configureRequestResponse(AtmosphereRequest req,
AtmosphereResponse res)
throws UnsupportedEncodingException
AtmosphereRequest.
req - AtmosphereRequest
UnsupportedEncodingException
public Action doCometSupport(AtmosphereRequest req,
AtmosphereResponse res)
throws IOException,
javax.servlet.ServletException
AsyncSupport.
req - res -
Action
IOException
javax.servlet.ServletExceptionpublic String getDefaultBroadcasterClassName()
Broadcaster class name.
public AtmosphereFramework setDefaultBroadcasterClassName(String bccn)
Broadcaster class name.
bccn - the broadcasterClassName to setpublic boolean isUseStreamForFlushingComments()
AtmosphereResponse.getOutputStream()
by default for write operation.
public AtmosphereFramework setUseStreamForFlushingComments(boolean useStreamForFlushingComments)
AtmosphereResponse.getOutputStream()
by default for write operation. Default is false.
useStreamForFlushingComments - the useStreamForFlushingComments to setpublic BroadcasterFactory getBroadcasterFactory()
BroadcasterFactory which is used by Atmosphere to construct
Broadcaster.
BroadcasterFactorypublic AtmosphereFramework setBroadcasterFactory(BroadcasterFactory broadcasterFactory)
BroadcasterFactory which is used by Atmosphere to construct
Broadcaster.
BroadcasterFactorypublic String getBroadcasterCacheClassName()
BroadcasterCache class name.
BroadcasterCache class namepublic AtmosphereFramework setBroadcasterCacheClassName(String broadcasterCacheClassName)
BroadcasterCache class name.
broadcasterCacheClassName - public AtmosphereFramework addBroadcasterType(String broadcasterTypeString)
broadcasterTypeString - public String getWebSocketProtocolClassName()
public AtmosphereFramework setWebSocketProtocolClassName(String webSocketProtocolClassName)
public Map<String,AtmosphereFramework.AtmosphereHandlerWrapper> getAtmosphereHandlers()
protected Map<String,String> configureQueryStringAsRequest(AtmosphereRequest request)
public WebSocketProtocol getWebSocketProtocol()
public boolean isUseNativeImplementation()
public AtmosphereFramework setUseNativeImplementation(boolean useNativeImplementation)
public boolean isUseBlockingImplementation()
public AtmosphereFramework setUseBlockingImplementation(boolean useBlockingImplementation)
public String getAtmosphereDotXmlPath()
public AtmosphereFramework setAtmosphereDotXmlPath(String atmosphereDotXmlPath)
public String getHandlersPath()
public AtmosphereFramework setHandlersPath(String handlersPath)
public String getLibPath()
public AtmosphereFramework setLibPath(String libPath)
libPath - the location of the JARs containing the application.
public String getWebSocketProcessorClassName()
WebSocketProcessor used to handle websocket requests.
WebSocketProcessorpublic AtmosphereFramework setWebsocketProcessorClassName(String webSocketProcessorClassName)
WebSocketProcessor class name used to process WebSocket requests. Default is
DefaultWebSocketProcessor
webSocketProcessorClassName - WebSocketProcessor
public AtmosphereFramework interceptor(AtmosphereInterceptor c)
AtmosphereInterceptor implementation. The adding order of AtmosphereInterceptor will be used, e.g
the first added AtmosphereInterceptor will always be called first.
c - AtmosphereInterceptor
protected void positionInterceptor(InvokationOrder.PRIORITY p,
AtmosphereInterceptor c)
public LinkedList<AtmosphereInterceptor> interceptors()
AtmosphereInterceptor.
AtmosphereInterceptorpublic AtmosphereFramework annotationProcessorClassName(String annotationProcessorClassName)
AnnotationProcessor class name.
annotationProcessorClassName - the AnnotationProcessor class name.
public AtmosphereFramework asyncSupportListener(AsyncSupportListener asyncSupportListener)
AsyncSupportListener.
asyncSupportListener - an AsyncSupportListener
public List<AsyncSupportListener> asyncSupportListeners()
AsyncSupportListeners.
public AtmosphereFramework addBroadcasterListener(BroadcasterListener b)
BroadcasterListener to all created Broadcasters.
public AtmosphereFramework addBroadcasterCacheInjector(BroadcasterCacheInspector b)
BroadcasterCacheInspector which will be associated with the defined BroadcasterCache.
b - BroadcasterCacheInspector
protected ConcurrentLinkedQueue<BroadcasterCacheInspector> inspectors()
BroadcasterCacheInspectors.
BroadcasterCacheInspectorspublic AtmosphereConfig getAtmosphereConfig()
AtmosphereConfig.
AtmosphereConfigpublic javax.servlet.ServletContext getServletContext()
getServletContext in interface ServletContextProviderpublic javax.servlet.ServletConfig getServletConfig()
public List<String> broadcasterFilters()
BroadcastFilters.
BroadcastFilterspublic AtmosphereFramework broadcasterFilters(BroadcastFilter f)
BroadcastFilter.
public boolean isShareExecutorServices()
ExecutorService is shared among all components.
ExecutorService is shared amongst all componentspublic AtmosphereFramework shareExecutorServices(boolean sharedThreadPools)
ExecutorService shared among all components.
sharedThreadPools -
protected void autoConfigureService(javax.servlet.ServletContext sc)
throws IOException
IOExceptionpublic EndpointMapper<AtmosphereFramework.AtmosphereHandlerWrapper> endPointMapper()
EndpointMapper used to map requests to AtmosphereHandler.
EndpointMapperpublic AtmosphereFramework endPointMapper(EndpointMapper endpointMapper)
EndpointMapper.
endpointMapper - EndpointMapper
public AtmosphereFramework addAnnotationPackage(Class<?> clazz)
clazz - a Class
public void notify(Action.TYPE type,
AtmosphereRequest request,
AtmosphereResponse response)
public AtmosphereFramework addWebSocketHandler(WebSocketHandler handler)
WebSocketHandler mapped to "/*".
return this
public AtmosphereFramework addWebSocketHandler(String path,
WebSocketHandler handler)
WebSocketHandler mapped to the path.
return this
public AtmosphereFramework addWebSocketHandler(String path,
WebSocketHandler handler,
AtmosphereHandler h)
WebSocketHandler mapped to the path and the AtmosphereHandler in case Broadcaster are
used.
path - a pathhandler - a WebSocketHandlerh - an AtmosphereHandler
public AtmosphereFramework addWebSocketHandler(String path,
WebSocketHandler handler,
AtmosphereHandler h,
List<AtmosphereInterceptor> l)
WebSocketHandler mapped to the path and the AtmosphereHandler in case Broadcaster are
used.
path - a pathhandler - a WebSocketHandlerh - an AtmosphereHandlerl - AtmosphereInterceptor
public AtmosphereFramework annotationScanned(boolean b)
AnnotationProcessor found an annotation.
b - true when found
public List<String> customAnnotationPackages()
AtmosphereAnnotation.
AtmosphereAnnotationpublic AtmosphereFramework addCustomAnnotationPackage(Class p)
AtmosphereAnnotation.
p - a package
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||