Package org.cometd.oort
Class OortConfigServlet
- java.lang.Object
-
- jakarta.servlet.GenericServlet
-
- jakarta.servlet.http.HttpServlet
-
- org.cometd.oort.OortConfigServlet
-
- All Implemented Interfaces:
jakarta.servlet.Servlet
,jakarta.servlet.ServletConfig
,java.io.Serializable
- Direct Known Subclasses:
OortMulticastConfigServlet
,OortStaticConfigServlet
public abstract class OortConfigServlet extends jakarta.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 servletoort.secret
, the pre-shared secret that Oort servers use to authenticate connections from other Oort cometsoort.channels
, a comma separated list of channels that will be passed toOort.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 ofOort
.- 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_CLIENT_TRANSPORT_FACTORIES_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
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract void
configureCloud(jakarta.servlet.ServletConfig config, Oort oort)
Configures the Oort cloud by establishing connections with other Oort comets.protected void
configureOort(jakarta.servlet.ServletConfig config, Oort oort)
Configures the Oort instance with servlet init parameters.void
destroy()
void
init(jakarta.servlet.ServletConfig config)
protected Oort
newOort(BayeuxServer bayeux, java.lang.String url)
Creates and returns a new Oort instance.protected java.lang.String
provideOortURL()
Retrieves theoort.url
parameter from this servlet init parameters.-
Methods inherited from class jakarta.servlet.http.HttpServlet
doDelete, doGet, doHead, doOptions, doPost, doPut, doTrace, getLastModified, service, service
-
-
-
-
Field Detail
-
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
-
OORT_CLIENT_TRANSPORT_FACTORIES_PARAM
public static final java.lang.String OORT_CLIENT_TRANSPORT_FACTORIES_PARAM
- See Also:
- Constant Field Values
-
-
Method Detail
-
init
public void init(jakarta.servlet.ServletConfig config) throws jakarta.servlet.ServletException
- Specified by:
init
in interfacejakarta.servlet.Servlet
- Overrides:
init
in classjakarta.servlet.GenericServlet
- Throws:
jakarta.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(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 tourl
- theoort.url
of the Oort instance- Returns:
- a new Oort instance
-
configureOort
protected void configureOort(jakarta.servlet.ServletConfig config, Oort oort) throws java.lang.Exception
Configures the Oort instance with servlet init parameters.
- Parameters:
config
- the Servlet configurationoort
- the Oort instance to configure- Throws:
java.lang.Exception
- if the Oort instance cannot be configured
-
configureCloud
protected abstract void configureCloud(jakarta.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 fromoort
- 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 interfacejakarta.servlet.Servlet
- Overrides:
destroy
in classjakarta.servlet.GenericServlet
-
-