## org.mortbay.cometd
Class AbstractCometdServlet

    java.lang.Object
      javax.servlet.GenericServlet
          org.mortbay.cometd.AbstractCometdServlet

All Implemented Interfaces:
  Serializable, Servlet, ServletConfig

Direct Known Subclasses:
  ContinuationCometdServlet

    public abstract class AbstractCometdServlet

extends GenericServlet

Cometd Filter Servlet implementing the `AbstractBayeux` protocol. The Servlet can be initialized with a json file mapping channels to `DataFilter` definitions. The servlet init parameter "filters" should point to a webapplication resource containing a JSON array of filter definitions. For example:

      [
        {
          "channels": "/**",
          "class"   : "org.mortbay.cometd.filter.NoMarkupFilter",
          "init"    : {}
        }
      ]

The following init parameters can be used to configure the servlet:

timeout
  The server side poll timeout in milliseconds (default 250000). This is how long the server will hold a reconnect request before responding.
interval
  The client side poll timeout in milliseconds (default 0). How long a client will wait between reconnects
maxInterval
  The max client side poll timeout in milliseconds (default 30000). A client will be removed if a connection is not received in this time.
multiFrameInterval
  the client side poll timeout if multiple connections are detected from the same browser (default 1500).
JSONCommented
  If "true" then the server will accept JSON wrapped in a comment and will generate JSON wrapped in a comment. This is a defence against Ajax Hijacking.
filters
  the location of a JSON file describing `DataFilter` instances to be installed
requestAvailable
  If true, the current request is made available via the `AbstractBayeux.getCurrentRequest()` method
loglevel
  0=none, 1=info, 2=debug
directDeliver
  true if published messages are delivered directly to subscribers (default). If false, a message copy is created with only supported fields (default true).
refsThreshold
  The number of message refs at which the a single message response will be cached instead of being generated for every client delivered to. Done to optimize a single message being sent to multiple clients.

Author:
  gregw, aabeling: added JSONP transport
See Also:
  `AbstractBayeux}`, `ChannelId}`, Serialized Form

Field Summary
`static int` `__DEFAULT_REFS_THRESHOLD`
`protected AbstractBayeux` `_bayeux`
`protected int` `_refsThreshold`
`static String` `BROWSER_ID`
`static String` `CLIENT_ATTR`
`static String` `HTTP_CLIENT_ID`
`static String` `MESSAGE_PARAM`
`static String` `TRANSPORT_ATTR`
`static String` `TUNNEL_INIT_PARAM`

Constructor Summary
`AbstractCometdServlet()`

Method Summary
`protected String` `browserId(HttpServletRequest request)`
`AbstractBayeux` `getBayeux()`
`protected org.cometd.Message[]` `getMessages(HttpServletRequest request)`
`void` `init()`
`protected abstract AbstractBayeux` `newBayeux()`
`protected String` `newBrowserId(HttpServletRequest request, HttpServletResponse response)`
`protected abstract void` `service(HttpServletRequest req, HttpServletResponse resp)`
`void` `service(ServletRequest req, ServletResponse resp)`

Methods inherited from class javax.servlet.GenericServlet
`destroy, 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`

Field Detail

### CLIENT_ATTR

    public static final String CLIENT_ATTR

See Also:
  Constant Field Values

### TRANSPORT_ATTR

    public static final String TRANSPORT_ATTR

See Also:
  Constant Field Values

### MESSAGE_PARAM

    public static final String MESSAGE_PARAM

See Also:
  Constant Field Values

### TUNNEL_INIT_PARAM

    public static final String TUNNEL_INIT_PARAM

See Also:
  Constant Field Values

### HTTP_CLIENT_ID

    public static final String HTTP_CLIENT_ID

See Also:
  Constant Field Values

### BROWSER_ID

    public static final String BROWSER_ID

See Also:
  Constant Field Values

### _bayeux

    protected AbstractBayeux _bayeux

### __DEFAULT_REFS_THRESHOLD

    public static final int __DEFAULT_REFS_THRESHOLD

See Also:
  Constant Field Values

### _refsThreshold

    protected int _refsThreshold

Constructor Detail

### AbstractCometdServlet

    public AbstractCometdServlet()

Method Detail

### getBayeux

    public AbstractBayeux getBayeux()

### newBayeux

    protected abstract AbstractBayeux newBayeux()

### init

    public void init()
              throws ServletException

  Overrides:
    `init` in class `GenericServlet`
  Throws:
    `ServletException`

### service

    protected abstract void service(HttpServletRequest req,
                                    HttpServletResponse resp)
                             throws ServletException,
                                    IOException

  Throws:
    `ServletException`
    `IOException`

### service

    public void service(ServletRequest req,
                        ServletResponse resp)
                 throws ServletException,
                        IOException

  Specified by:
    `service` in interface `Servlet`
  Specified by:
    `service` in class `GenericServlet`
  Throws:
    `ServletException`
    `IOException`

### browserId

    protected String browserId(HttpServletRequest request)

### newBrowserId

    protected String newBrowserId(HttpServletRequest request,
                                  HttpServletResponse response)

### getMessages

    protected org.cometd.Message[] getMessages(HttpServletRequest request)
                                        throws IOException

  Throws:
    `IOException`

Copyright © 1995-2008 Mort Bay Consulting. All Rights Reserved.