Class JettyJeeProcessingUnitContainerProvider
- All Implemented Interfaces:
ClusterInfoAware,BeanLevelPropertiesAware
JeeProcessingUnitContainerProvider
that can run web applications (war files) using Jetty. The jetty xml configuration is
loaded from 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 Post
processing of the JMX in jetty can be enabled by passing a
deployment property 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. BootstrapWebApplicationContextListener. web.xml and jetty-web.xml is performed allowing to
use ${...} notation within them (for example, using system properties, deployed
properties, or ${clusterInfo...}). 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 Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe optional location where a jetty spring application context (responsible for configuring jetty) will be loaded (within the processing unit).static final Stringstatic final Stringstatic final Stringstatic final Stringstatic final StringThe deployment property controlling if JMX is enabled or not.static final StringFields inherited from class org.openspaces.pu.container.jee.JeeProcessingUnitContainerProvider
APPLICATION_CONTEXT_CONTEXT, BEAN_LEVEL_PROPERTIES_CONTEXT, CLUSTER_INFO_CONTEXT, DEFAULT_JEE_CONTAINER, JEE_CONTAINER_PROPERTY_NAME, JETTY_PORT_ACTUAL_CONTEXT, JETTY_PORT_CONTEXT_PREFIX, JETTY_PORT_CONTEXT_SUFFIXFields inherited from class org.openspaces.pu.container.spi.ApplicationContextProcessingUnitContainerProvider
DEFAULT_FS_PU_CONTEXT_LOCATION, DEFAULT_PU_CONTEXT_LOCATIONFields inherited from class org.openspaces.pu.container.ProcessingUnitContainerProvider
CONTAINER_CLASS_PROP, CONTEXT_PROPERTY_DEPLOY_PATH, SPACE_NAME_PROPERTY_KEY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionSee the header javadoc.static org.springframework.context.ApplicationContextAllows to get the current application context (loaded frompu.xml) during web application startup.static BeanLevelPropertiesstatic ClusterInfoMethods inherited from class org.openspaces.pu.container.jee.JeeProcessingUnitContainerProvider
addConfigLocation, addConfigLocation, getDeployPath, getJeeClassLoader, getJeeContainer, getJeeContainerJarPath, getManifestURLs, getWebAppClassLoaderClassPath, getWebAppClassLoaderJars, initApplicationContext, setClassLoader, setDeployPath, setManifestUrls, setParentContextMethods inherited from class org.openspaces.pu.container.ProcessingUnitContainerProvider
getBeanLevelProperties, getClusterInfo, getConfig, setBeanLevelProperties, setClusterInfo, setMetricRegistrator, setSpaceName
-
Field Details
-
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 byJETTY_INSTANCE_PROP) defaulting to plain.- See Also:
-
INTERNAL_JETTY_PU_PREFIX
- See Also:
-
INSTANCE_PLAIN
- See Also:
-
INSTANCE_SHARD
- See Also:
-
JETTY_LOCATION_PREFIX_SYSPROP
- See Also:
-
JETTY_INSTANCE_PROP
- See Also:
-
JETTY_JMX_PROP
The deployment property controlling if JMX is enabled or not. Defaults tofalse(JMX is disabled).- See Also:
-
-
Constructor Details
-
JettyJeeProcessingUnitContainerProvider
public JettyJeeProcessingUnitContainerProvider()
-
-
Method Details
-
getCurrentApplicationContext
public static org.springframework.context.ApplicationContext getCurrentApplicationContext()Allows to get the current application context (loaded frompu.xml) during web application startup. Can be used to access beans defined within it (like a Space) by components loaded (such as session storage). Note, this is only applicable during web application startup. It is cleared right afterwards. -
getCurrentClusterInfo
-
getCurrentBeanLevelProperties
-
getJeeContainerType
- Specified by:
getJeeContainerTypein classJeeProcessingUnitContainerProvider
-
createContainer
See the header javadoc.- Specified by:
createContainerin classProcessingUnitContainerProvider- Returns:
- A newly created processing unit container.
- Throws:
CannotCreateContainerException
-