Class OortConfigServlet

java.lang.Object
javax.servlet.GenericServlet
javax.servlet.http.HttpServlet
org.cometd.oort.OortConfigServlet
All Implemented Interfaces:
java.io.Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig
Direct Known Subclasses:
OortMulticastConfigServlet, OortStaticConfigServlet

public abstract class OortConfigServlet
extends javax.servlet.http.HttpServlet

This servlet serves as a base class for initializing and configuring an instance of the Oort CometD cluster manager.

The following servlet init parameters are used to configure the Oort instance:

  • oort.url, the absolute public URL to the CometD servlet
  • oort.secret, the pre-shared secret that Oort servers use to authenticate connections from other Oort comets
  • oort.channels, a comma separated list of channels that will be passed to Oort.observeChannel(String)
  • clientDebug, a boolean that enables debugging of the clients connected to other oort cluster managers

Override method newOort(BayeuxServer, String) to return a customized instance of Oort.

See Also:
SetiServlet, Serialized Form
  • Field Summary

    Fields
    Modifier and Type Field Description
    static java.lang.String OORT_CHANNELS_PARAM  
    static java.lang.String OORT_ENABLE_ACK_EXTENSION_PARAM  
    static java.lang.String OORT_ENABLE_BINARY_EXTENSION_PARAM  
    static java.lang.String OORT_JSON_CONTEXT_PARAM  
    static java.lang.String OORT_SECRET_PARAM  
    static java.lang.String OORT_URL_PARAM  
  • Constructor Summary

    Constructors
    Constructor Description
    OortConfigServlet()  
  • Method Summary

    Modifier and Type Method Description
    protected abstract void configureCloud​(javax.servlet.ServletConfig config, Oort oort)
    Configures the Oort cloud by establishing connections with other Oort comets.
    protected void configureOort​(javax.servlet.ServletConfig config, Oort oort)
    Configures the Oort instance with servlet init parameters.
    void destroy()  
    void init​(javax.servlet.ServletConfig config)  
    protected Oort newOort​(org.cometd.bayeux.server.BayeuxServer bayeux, java.lang.String url)
    Creates and returns a new Oort instance.
    protected java.lang.String provideOortURL()
    Retrieves the oort.url parameter from this servlet init parameters.

    Methods inherited from class javax.servlet.http.HttpServlet

    doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, 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
  • Field Details

    • OORT_URL_PARAM

      public static final java.lang.String OORT_URL_PARAM
      See Also:
      Constant Field Values
    • OORT_SECRET_PARAM

      public static final java.lang.String OORT_SECRET_PARAM
      See Also:
      Constant Field Values
    • OORT_CHANNELS_PARAM

      public static final java.lang.String OORT_CHANNELS_PARAM
      See Also:
      Constant Field Values
    • OORT_ENABLE_ACK_EXTENSION_PARAM

      public static final java.lang.String OORT_ENABLE_ACK_EXTENSION_PARAM
      See Also:
      Constant Field Values
    • OORT_ENABLE_BINARY_EXTENSION_PARAM

      public static final java.lang.String OORT_ENABLE_BINARY_EXTENSION_PARAM
      See Also:
      Constant Field Values
    • OORT_JSON_CONTEXT_PARAM

      public static final java.lang.String OORT_JSON_CONTEXT_PARAM
      See Also:
      Constant Field Values
  • Constructor Details

    • OortConfigServlet

      public OortConfigServlet()
  • Method Details

    • init

      public void init​(javax.servlet.ServletConfig config) throws javax.servlet.ServletException
      Specified by:
      init in interface javax.servlet.Servlet
      Overrides:
      init in class javax.servlet.GenericServlet
      Throws:
      javax.servlet.ServletException
    • provideOortURL

      protected java.lang.String provideOortURL()

      Retrieves the oort.url parameter from this servlet init parameters.

      Subclasses can override this method to compute the oort.url parameter dynamically, for example by retrieving the IP address of the host.

      Returns:
      the oort.url parameter
    • newOort

      protected Oort newOort​(org.cometd.bayeux.server.BayeuxServer bayeux, java.lang.String url)

      Creates and returns a new Oort instance.

      Parameters:
      bayeux - the BayeuxServer instance to which the Oort instance should be associated to
      url - the oort.url of the Oort instance
      Returns:
      a new Oort instance
    • configureOort

      protected void configureOort​(javax.servlet.ServletConfig config, Oort oort) throws java.lang.Exception

      Configures the Oort instance with servlet init parameters.

      Parameters:
      config - the Servlet configuration
      oort - the Oort instance to configure
      Throws:
      java.lang.Exception - if the Oort instance cannot be configured
    • configureCloud

      protected abstract void configureCloud​(javax.servlet.ServletConfig config, Oort oort) throws java.lang.Exception

      Configures the Oort cloud by establishing connections with other Oort comets.

      Subclasses implement their own strategy to discover and link with other comets.

      Parameters:
      config - the servlet configuration to read parameters from
      oort - the Oort instance associated with this configuration servlet
      Throws:
      java.lang.Exception - if the cloud configuration fails
    • destroy

      public void destroy()
      Specified by:
      destroy in interface javax.servlet.Servlet
      Overrides:
      destroy in class javax.servlet.GenericServlet