|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjavax.servlet.GenericServlet
javax.servlet.http.HttpServlet
weblogic.servlet.http.AbstractAsyncServlet
org.atmosphere.cpr.AtmosphereServlet
public class AtmosphereServlet
The AtmosphereServlet acts as a dispatcher for AtmosphereHandler
defined in META-INF/atmosphere.xml, or if atmosphere.xml is missing, all classes
that implements AtmosphereHandler will be discovered and mapped using
the class's name. This Servlet can be defined inside an application's
web.xml using the following:
<servlet>
<description>AtmosphereServlet</description>
<servlet-name>AtmosphereServlet</servlet-name>
<servlet-class>org.atmosphere.cpr.AtmosphereServlet</servlet-class>
<load-on-startup>0 </load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>AtmosphereServlet</servlet-name>
<url-pattern>/Atmosphere </url-pattern>
</servlet-mapping>
You can force this Servlet to use native API of the Web Server instead of
the Servlet 3.0 Async API you are deploying on by adding
<init-param>
<param-name>org.atmosphere.useNative</param-name>
<param-value>true</param-value>
</init-param>
You can force this Servlet to use one Thread per connection instead of
native API of the Web Server you are deploying on by adding
<init-param>
<param-name>org.atmosphere.useBlocking</param-name>
<param-value>true</param-value>
</init-param>
The Atmosphere Framework can also be used as a Servlet Filter (AtmosphereFilter).
If you are planning to use JSP, Servlet or JSF, you can instead use the
MeteorServlet, which allow the use of Meteor inside those
components.
| Nested Class Summary | |
|---|---|
static class |
AtmosphereServlet.Action
Simple class/struck that hold the current state. |
class |
AtmosphereServlet.AtmosphereConfig
|
static class |
AtmosphereServlet.AtmosphereHandlerWrapper
|
| Constructor Summary | |
|---|---|
AtmosphereServlet()
Create an Atmosphere Servlet. |
|
AtmosphereServlet(boolean isFilter)
Create an Atmosphere Servlet. |
|
| Method Summary | |
|---|---|
void |
addAtmosphereHandler(String mapping,
AtmosphereHandler h)
Add an AtmosphereHandler serviced by the Servlet
This API is exposed to allow embedding an Atmosphere application. |
void |
addInitParameter(String name,
String value)
Add init-param like if they were defined in web.xml |
protected void |
autoDetectAtmosphereHandlers(javax.servlet.ServletContext sc,
URLClassLoader c)
Auto detect instance of AtmosphereHandler in case META-INF/atmosphere.xml
is missing. |
protected void |
autoDetectContainer()
Auto detect the underlying Servlet Container we are running on. |
protected CometSupportResolver |
createCometSupportResolver()
Returns an instance of CometSupportResolver CometSupportResolver |
void |
destroy()
|
protected boolean |
detectJerseyRuntime(javax.servlet.ServletConfig sc)
Auto-detect Jersey when no atmosphere.xml file are specified. |
protected AtmosphereServlet.Action |
doCometSupport(javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse res)
Invoke the proprietary CometSupport |
void |
doDelete(javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse res)
Delegate the request processing to an instance of CometSupport |
void |
doGet(javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse res)
Delegate the request processing to an instance of CometSupport |
void |
doHead(javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse res)
Delegate the request processing to an instance of CometSupport |
protected void |
doInitParams(javax.servlet.ServletConfig sc)
Read init param from web.xml and apply them. |
void |
doOptions(javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse res)
Delegate the request processing to an instance of CometSupport |
void |
doPost(javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse res)
Delegate the request processing to an instance of CometSupport |
void |
doPut(javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse res)
Delegate the request processing to an instance of CometSupport |
protected boolean |
doRequest(weblogic.servlet.http.RequestResponseKey rrk)
Weblogic specific comet based implementation. |
protected void |
doResponse(weblogic.servlet.http.RequestResponseKey rrk,
Object context)
Weblogic specific comet based implementation. |
protected void |
doTimeout(weblogic.servlet.http.RequestResponseKey rrk)
Weblogic specific comet based implementation. |
void |
doTrace(javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse res)
Delegate the request processing to an instance of CometSupport |
void |
event(org.apache.catalina.CometEvent cometEvent)
Hack to support Tomcat AIO like other WebServer. |
void |
event(org.jboss.servlet.http.HttpEvent httpEvent)
Hack to support JBossWeb AIO like other WebServer. |
CometSupport |
getCometSupport()
Return the current CometSupport |
String |
getDefaultBroadcasterClassName()
Return the default Broadcaster class name. |
protected void |
getFiles(File f)
Get the list of possible candidate to load as AtmosphereHandler |
void |
init(javax.servlet.ServletConfig sc)
Load the AtmosphereHandler associated with this AtmosphereServlet. |
boolean |
isUseStreamForFlushingComments()
true if Atmosphere uses ServletResponse.getOutputStream()
by default for write operation. |
protected void |
loadAtmosphereDotXml(InputStream stream,
URLClassLoader c)
Load AtmosphereHandler defined under META-INF/atmosphere.xml |
protected void |
loadConfiguration(javax.servlet.ServletConfig sc)
|
AtmosphereServlet.AtmosphereConfig |
newAtmosphereConfig(boolean supportSession)
Return a configured instance of AtmosphereServlet.AtmosphereConfig |
void |
setCometSupport(CometSupport cometSupport)
Set the CometSupport implementation. |
void |
setDefaultBroadcasterClassName(String broadcasterClassName)
Set the default Broadcaster class name |
void |
setUseStreamForFlushingComments(boolean useStreamForFlushingComments)
Set to true so Atmosphere uses ServletResponse.getOutputStream()
by default for write operation. |
| Methods inherited from class weblogic.servlet.http.AbstractAsyncServlet |
|---|
notify |
| Methods inherited from class javax.servlet.http.HttpServlet |
|---|
getLastModified, service, service |
| Methods inherited from class javax.servlet.GenericServlet |
|---|
getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface javax.servlet.Servlet |
|---|
getServletConfig, getServletInfo, service |
| Field Detail |
|---|
protected boolean useNativeImplementation
protected boolean useBlockingImplementation
protected boolean useStreamForFlushingComments
public static final String JERSEY_BROADCASTER
public static final String JERSEY_CONTAINER
public static final String GAE_BROADCASTER
public static final String PROPERTY_SERVLET_MAPPING
public static final String PROPERTY_BLOCKING_COMETSUPPORT
public static final String PROPERTY_NATIVE_COMETSUPPORT
public static final String PROPERTY_USE_STREAM
public static final String BROADCASTER_CLASS
public static final String PROPERTY_COMET_SUPPORT
public static final String PRIMEFACES_SERVLET
public static final String DISABLE_ONSTATE_EVENT
public static final String WEB_INF
public static final Logger logger
protected final ArrayList<String> possibleAtmosphereHandlersCandidate
protected final HashMap<String,String> initParams
protected final Map<String,AtmosphereServlet.AtmosphereHandlerWrapper> atmosphereHandlers
AtmosphereHandler and their associated mapping.
protected CometSupport cometSupport
protected AtmosphereServlet.AtmosphereConfig config
protected boolean isFilter
protected String broadcasterClassName
protected final AtomicBoolean isCometSupportConfigured
protected boolean isCometSupportSpecified
protected boolean isBroadcasterSpecified
| Constructor Detail |
|---|
public AtmosphereServlet()
public AtmosphereServlet(boolean isFilter)
| Method Detail |
|---|
public AtmosphereServlet.AtmosphereConfig newAtmosphereConfig(boolean supportSession)
AtmosphereServlet.AtmosphereConfig
supportSession - true if session is supported.
AtmosphereServlet.AtmosphereConfig
public void 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 void addInitParameter(String name,
String value)
name - The namevalue - The value
public void init(javax.servlet.ServletConfig sc)
throws javax.servlet.ServletException
AtmosphereHandler associated with this AtmosphereServlet.
init in interface javax.servlet.Servletinit in class javax.servlet.GenericServletsc - the ServletContext
javax.servlet.ServletExceptionprotected void doInitParams(javax.servlet.ServletConfig sc)
sc -
protected void loadConfiguration(javax.servlet.ServletConfig sc)
throws javax.servlet.ServletException
javax.servlet.ServletExceptionprotected boolean detectJerseyRuntime(javax.servlet.ServletConfig sc)
sc - ServletConfig
public void destroy()
destroy in interface javax.servlet.Servletdestroy in class javax.servlet.GenericServlet
protected void loadAtmosphereDotXml(InputStream stream,
URLClassLoader c)
throws IOException,
javax.servlet.ServletException
IOException
javax.servlet.ServletExceptionpublic void setCometSupport(CometSupport cometSupport)
CometSupport implementation. Make sure you don't set
an implementation that only works on some Container. See BlockingIOCometSupport
for an example.
cometSupport - public CometSupport getCometSupport()
CometSupport
protected CometSupportResolver createCometSupportResolver()
CometSupportResolver
protected void autoDetectContainer()
protected void autoDetectAtmosphereHandlers(javax.servlet.ServletContext sc,
URLClassLoader c)
throws MalformedURLException,
URISyntaxException
AtmosphereHandler in case META-INF/atmosphere.xml
is missing.
sc - ServletContextc - URLClassLoader to load the class.
MalformedURLException
URISyntaxExceptionprotected void getFiles(File f)
AtmosphereHandler
f - the real path File
public void doHead(javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse res)
throws IOException,
javax.servlet.ServletException
CometSupport
doHead in class javax.servlet.http.HttpServletreq - the HttpServletRequestres - the HttpServletResponse
IOException
javax.servlet.ServletException
public void doOptions(javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse res)
throws IOException,
javax.servlet.ServletException
CometSupport
doOptions in class javax.servlet.http.HttpServletreq - the HttpServletRequestres - the HttpServletResponse
IOException
javax.servlet.ServletException
public void doTrace(javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse res)
throws IOException,
javax.servlet.ServletException
CometSupport
doTrace in class javax.servlet.http.HttpServletreq - the HttpServletRequestres - the HttpServletResponse
IOException
javax.servlet.ServletException
public void doDelete(javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse res)
throws IOException,
javax.servlet.ServletException
CometSupport
doDelete in class javax.servlet.http.HttpServletreq - the HttpServletRequestres - the HttpServletResponse
IOException
javax.servlet.ServletException
public void doPut(javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse res)
throws IOException,
javax.servlet.ServletException
CometSupport
doPut in class javax.servlet.http.HttpServletreq - the HttpServletRequestres - the HttpServletResponse
IOException
javax.servlet.ServletException
public void doGet(javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse res)
throws IOException,
javax.servlet.ServletException
CometSupport
doGet in class javax.servlet.http.HttpServletreq - the HttpServletRequestres - the HttpServletResponse
IOException
javax.servlet.ServletException
public void doPost(javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse res)
throws IOException,
javax.servlet.ServletException
CometSupport
doPost in class javax.servlet.http.HttpServletreq - the HttpServletRequestres - the HttpServletResponse
IOException
javax.servlet.ServletException
protected AtmosphereServlet.Action doCometSupport(javax.servlet.http.HttpServletRequest req,
javax.servlet.http.HttpServletResponse res)
throws IOException,
javax.servlet.ServletException
CometSupport
req - res -
IOException
javax.servlet.ServletException
public void event(org.apache.catalina.CometEvent cometEvent)
throws IOException,
javax.servlet.ServletException
Servlet implements the interface
CometProcessor without invoking Servlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
event in interface org.apache.catalina.CometProcessorevent in interface org.jboss.servlet.http.HttpEventServletcometEvent - the CometEvent
IOException
javax.servlet.ServletException
public void event(org.jboss.servlet.http.HttpEvent httpEvent)
throws IOException,
javax.servlet.ServletException
Servlet implements the interface
HttpEventServlet without invoking Servlet.service(javax.servlet.ServletRequest, javax.servlet.ServletResponse)
httpEvent - the CometEvent
IOException
javax.servlet.ServletException
protected boolean doRequest(weblogic.servlet.http.RequestResponseKey rrk)
throws IOException,
javax.servlet.ServletException
doRequest in class weblogic.servlet.http.AbstractAsyncServletrrk -
IOException
javax.servlet.ServletException
protected void doResponse(weblogic.servlet.http.RequestResponseKey rrk,
Object context)
throws IOException,
javax.servlet.ServletException
doResponse in class weblogic.servlet.http.AbstractAsyncServletrrk -
IOException
javax.servlet.ServletException
protected void doTimeout(weblogic.servlet.http.RequestResponseKey rrk)
throws IOException,
javax.servlet.ServletException
doTimeout in class weblogic.servlet.http.AbstractAsyncServletrrk -
IOException
javax.servlet.ServletExceptionpublic String getDefaultBroadcasterClassName()
Broadcaster class name.
public void setDefaultBroadcasterClassName(String broadcasterClassName)
Broadcaster class name
broadcasterClassName - the broadcasterClassName to setpublic boolean isUseStreamForFlushingComments()
ServletResponse.getOutputStream()
by default for write operation.
public void setUseStreamForFlushingComments(boolean useStreamForFlushingComments)
ServletResponse.getOutputStream()
by default for write operation. Default is false.
useStreamForFlushingComments - the useStreamForFlushingComments to set
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||