Class OortMulticastConfigServlet

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

public class OortMulticastConfigServlet
extends OortConfigServlet

This servlet initializes and configures an instance of the Oort CometD cluster manager via autodiscovery of other Oort comets using UDP multicast.

This servlet configures and starts an instance of OortMulticastConfigurer that advertises via multicast the Oort URL to which it is associated and receives the advertisements from other Oort comets.

This servlet must be initialized after an instance the CometD servlet that creates the BayeuxServer instance used by Oort.

This servlet inherits from OortConfigServlet init parameters used to configure the Oort instance, and adds the following init parameters:

  • oort.multicast.bindAddress, to specify the bind address of the MulticastSocket that receives the advertisements; defaults to the wildcard address
  • oort.multicast.groupAddress, to specify the multicast group address to join to receive the advertisements; defaults to 239.255.0.1
  • oort.multicast.groupPort, to specify the port over which advertisements are sent and received; defaults to 5577
  • oort.multicast.groupInterfaces, a comma separated list of IP addresses that will join the multicast group; default to all interfaces that support multicast
  • oort.multicast.timeToLive, to specify the time to live of advertisement packets; defaults to 1 (1 = same subnet, 32 = same site, 255 = global)
  • oort.multicast.advertiseInterval, to specify the interval in milliseconds at which advertisements are sent; defaults to 2000 ms
  • oort.multicast.connectTimeout, to specify the timeout in milliseconds that a node should wait to connect to another node; defaults to 2000 ms
  • oort.multicast.maxTransmissionLength, to specify the maximum length in bytes of the advertisement message, and should be smaller than the max transmission unit; defaults to 1400 bytes
See Also:
OortConfigServlet, OortMulticastConfigServlet, Serialized Form
  • Field Details

    • OORT_MULTICAST_BIND_ADDRESS_PARAM

      public static final java.lang.String OORT_MULTICAST_BIND_ADDRESS_PARAM
      See Also:
      Constant Field Values
    • OORT_MULTICAST_GROUP_ADDRESS_PARAM

      public static final java.lang.String OORT_MULTICAST_GROUP_ADDRESS_PARAM
      See Also:
      Constant Field Values
    • OORT_MULTICAST_GROUP_PORT_PARAM

      public static final java.lang.String OORT_MULTICAST_GROUP_PORT_PARAM
      See Also:
      Constant Field Values
    • OORT_MULTICAST_GROUP_INTERFACES_PARAM

      public static final java.lang.String OORT_MULTICAST_GROUP_INTERFACES_PARAM
      See Also:
      Constant Field Values
    • OORT_MULTICAST_TIME_TO_LIVE_PARAM

      public static final java.lang.String OORT_MULTICAST_TIME_TO_LIVE_PARAM
      See Also:
      Constant Field Values
    • OORT_MULTICAST_ADVERTISE_INTERVAL_PARAM

      public static final java.lang.String OORT_MULTICAST_ADVERTISE_INTERVAL_PARAM
      See Also:
      Constant Field Values
    • OORT_MULTICAST_CONNECT_TIMEOUT_PARAM

      public static final java.lang.String OORT_MULTICAST_CONNECT_TIMEOUT_PARAM
      See Also:
      Constant Field Values
    • OORT_MULTICAST_MAX_TRANSMISSION_LENGTH_PARAM

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

    • OortMulticastConfigServlet

      public OortMulticastConfigServlet()
  • Method Details

    • configureCloud

      protected void configureCloud​(javax.servlet.ServletConfig config, Oort oort) throws java.lang.Exception
      Description copied from class: OortConfigServlet

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

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

      Specified by:
      configureCloud in class OortConfigServlet
      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 OortConfigServlet