Class JettyJeeProcessingUnitContainerProvider

All Implemented Interfaces:
ClusterInfoAware, BeanLevelPropertiesAware

public class JettyJeeProcessingUnitContainerProvider extends JeeProcessingUnitContainerProvider
An implementation of JeeProcessingUnitContainerProvider that can run web applications (war files) using Jetty.

The jetty xml configuration is loaded from DEFAULT_JETTY_PU location if it exists. If it does not exists, two defaults exists, one is the jetty.plain.pu.xml and the other is jetty.shared.xml. By default, if nothing is passed, the jetty.plain.xml is loaded.

The difference between plain and shared mode is only indicated by the built in jerry spring application context. The plain mode starts a jetty instance per web application instance. The shared mode uses the same jetty instance for all web applications. The default is plain mode as it is usually the simpler and preferred way to use it.

The web application will be enabled automatically for OpenSpaces bootstrapping using BootstrapWebApplicationContextListener.

Post processing of the web.xml and jetty-web.xml is performed allowing to use ${...} notation within them (for example, using system properties, deployed properties, or ${clusterInfo...}).

JMX in jetty can be enabled by passing a deployment property JETTY_JMX_PROP. If set to true jetty will be configured with JMX. In plain mode, where there can be more than one instance of jetty within the same JVM, the domain each instance will be registered under will be gigaspaces.jetty.${clusterInfo.name}.${clusterInfo.runningNumberOffset1}. In shared mode, where there is only one instance of jetty in a single JVM, jetty JMX will be registered with a domain called gigaspaces.jetty.

Author:
kimchy
  • Field Details

    • DEFAULT_JETTY_PU

      public static final String DEFAULT_JETTY_PU
      The optional location where a jetty spring application context (responsible for configuring jetty) will be loaded (within the processing unit). If does not exists, will load either the plain or shared built in jetty configurations (controlled by JETTY_INSTANCE_PROP) defaulting to plain.
      See Also:
    • INTERNAL_JETTY_PU_PREFIX

      public static final String INTERNAL_JETTY_PU_PREFIX
      See Also:
    • INSTANCE_PLAIN

      public static final String INSTANCE_PLAIN
      See Also:
    • INSTANCE_SHARD

      public static final String INSTANCE_SHARD
      See Also:
    • JETTY_LOCATION_PREFIX_SYSPROP

      public static final String JETTY_LOCATION_PREFIX_SYSPROP
      See Also:
    • JETTY_INSTANCE_PROP

      public static final String JETTY_INSTANCE_PROP
      See Also:
    • JETTY_JMX_PROP

      public static final String JETTY_JMX_PROP
      The deployment property controlling if JMX is enabled or not. Defaults to false (JMX is disabled).
      See Also:
  • Constructor Details

    • JettyJeeProcessingUnitContainerProvider

      public JettyJeeProcessingUnitContainerProvider()
  • Method Details