public class ContainerAdapter extends Object
The application descriptor file (coherence-application.xml) contains the location of a cache configuration file and (optionally) a POF configuration file. It may also specify the name of a ConfigurableCacheFactory
class to be used to create caches instead of the system-wide default (Note that this class must implement ExtensibleConfigurableCacheFactory
).
After creating an instance of ContainerAdapter. the container should call activate()
to start the application and deactivate()
to stop it.
Modifier and Type | Class and Description |
---|---|
protected class |
ContainerAdapter.ContainerCacheFactoryBuilder
ContainerCacheFactoryBuilder creates a
ConfigurableCacheFactory instance using the knowledge from this ContainerAdapter instance. |
static class |
ContainerAdapter.DefaultContext
The
ContainerAdapter.DefaultContext represents the context for an application. |
Modifier and Type | Field and Description |
---|---|
protected static String |
CACHE_URI_DEFAULT
Internally used "default" URI identifier.
|
protected ServiceMonitor |
f_serviceMonitor
The
ServiceMonitor to use. |
protected ContainerAdapter.ContainerCacheFactoryBuilder |
m_builder
The
ContainerAdapter.ContainerCacheFactoryBuilder used to create a ConfigurableCacheFactory for the application. |
protected ContainerContext |
m_containerCtx
The ContainerContext.
|
protected ContainerAdapter.DefaultContext |
m_context
The
Context for the application. |
protected boolean |
m_fActivated
Indicates whether the ContainerAdapter has been activated or not.
|
protected ExtensibleConfigurableCacheFactory |
m_factory
The
ConfigurableCacheFactory for the application. |
protected boolean |
m_fExclusiveMonitor
Indicates whether the ServiceMonitor has been exclusively created for this ContainerAdapter.
|
protected LifecycleListener |
m_listener
The
LifecycleListener used for lifecycle callbacks to the application. |
protected ClassLoader |
m_loader
The
ClassLoader for the application. |
protected ClassLoader |
m_loaderCtx
The caller's thread context
ClassLoader . |
protected String |
m_sAppDescriptorURI
The URI to the coherence-application.xml file.
|
protected String |
m_sAppName
The name of the application.
|
protected XmlElement |
m_xmlAppDescriptor
The
XmlElement representing the application descriptor. |
Constructor and Description |
---|
ContainerAdapter(ClassLoader loader, String sAppDescriptorURI, String sAppName)
Construct the ContainerAdapter.
|
ContainerAdapter(ClassLoader loader, String sAppDescriptorURI, String sAppName, CacheFactoryBuilder builder, XmlElement xmlAppDescriptor, ServiceMonitor serviceMonitor)
Construct the ContainerAdapter.
|
ContainerAdapter(ClassLoader loader, String sAppDescriptorURI, String sAppName, XmlElement xmlAppDescriptor)
Construct the ContainerAdapter.
|
Modifier and Type | Method and Description |
---|---|
void |
activate()
Initialize and start the application that is hosted by this ContainerAdapter.
|
void |
associateWithClassLoader(ClassLoader[] aClassLoaders)
Associates the application hosted by this ContainerAdapter with specified
ClassLoader s. |
void |
deactivate()
Deactivate the application hosted by this ContainerAdapter.
|
void |
deactivate(boolean fShutdown)
Deactivate the application hosted by this ContainerAdapter.
|
protected void |
ensureContextClassLoader()
Ensure that the thread context ClassLoader is set to the ContainerAdapter's ClassLoader; save the current thread context ClassLoader if necessary.
|
protected static XmlElement |
extractFactoryConfig(XmlElement xmlAppDescriptor)
Extract the
XmlElement representing the factory for the ConfigurableCacheFactory instance. |
Context |
getApplicationContext()
Return the
Context for the application. |
ContainerContext |
getContainerContext()
Return the
ContainerContext used by this ContainerAdapter. |
ClassLoader |
getContextClassLoader()
Return the ClassLoader used by this ContainerAdapter.
|
protected void |
restoreContextClassLoader()
Restore the thread context
ClassLoader for the caller. |
void |
setContainerContext(ContainerContext ctx)
Set the ContainerContext associated with this ContainerAdapter instance.
|
protected static final String CACHE_URI_DEFAULT
protected final ServiceMonitor f_serviceMonitor
ServiceMonitor
to use.protected ContainerAdapter.ContainerCacheFactoryBuilder m_builder
ContainerAdapter.ContainerCacheFactoryBuilder
used to create a ConfigurableCacheFactory
for the application.protected ExtensibleConfigurableCacheFactory m_factory
ConfigurableCacheFactory
for the application.protected ClassLoader m_loader
ClassLoader
for the application.protected String m_sAppDescriptorURI
protected XmlElement m_xmlAppDescriptor
XmlElement
representing the application descriptor.protected String m_sAppName
protected ContainerContext m_containerCtx
protected LifecycleListener m_listener
LifecycleListener
used for lifecycle callbacks to the application.protected ContainerAdapter.DefaultContext m_context
Context
for the application.protected ClassLoader m_loaderCtx
ClassLoader
.protected boolean m_fActivated
protected boolean m_fExclusiveMonitor
public ContainerAdapter(ClassLoader loader, String sAppDescriptorURI, String sAppName)
loader
- the ClassLoader
for the applicationsAppDescriptorURI
- the URI to coherence-application.xmlsAppName
- the name of the applicationpublic ContainerAdapter(ClassLoader loader, String sAppDescriptorURI, String sAppName, XmlElement xmlAppDescriptor)
loader
- the ClassLoader
for the applicationsAppDescriptorURI
- the URI to coherence-application.xmlsAppName
- the name of the applicationxmlAppDescriptor
- the XmlElement
containing the application descriptor; if not null it will be used instead of the configuration specified by sAppDescriptorURIpublic ContainerAdapter(ClassLoader loader, String sAppDescriptorURI, String sAppName, CacheFactoryBuilder builder, XmlElement xmlAppDescriptor, ServiceMonitor serviceMonitor)
loader
- the ClassLoader
for the applicationsAppDescriptorURI
- the URI to the application configuration descriptorsAppName
- the name of the applicationbuilder
- the CacheFactoryBuilder
to usexmlAppDescriptor
- the XmlElement
containing the application descriptor; if not null it will be used instead of the configuration specified by sAppDescriptorURIserviceMonitor
- the ServiceMonitor
to use for the applicationpublic void setContainerContext(ContainerContext ctx)
This method must be called before the adapter is activated
.
ctx
- the ContainerContext referencepublic void activate()
deactivate()
.IllegalStateException
- if the application has already been activatedpublic void deactivate()
IllegalStateException
- if the application is not activepublic void deactivate(boolean fShutdown)
fShutdown
is true shutdown any resources / Coherence services that were used by the application otherwise clear local references.fShutdown
- whether to shutdown the resources, incl. any services, that were started as a part of this applicationIllegalStateException
- if the application is not activepublic void associateWithClassLoader(ClassLoader[] aClassLoaders)
ClassLoader
s.aClassLoaders
- an array of ClassLoader
s to associate this adapter withpublic ClassLoader getContextClassLoader()
public Context getApplicationContext()
Context
for the application.public ContainerContext getContainerContext()
ContainerContext
used by this ContainerAdapter.ContainerContext
used by this ContainerAdapter.protected static XmlElement extractFactoryConfig(XmlElement xmlAppDescriptor)
XmlElement
representing the factory for the ConfigurableCacheFactory
instance.xmlAppDescriptor
- the application descriptor XML elementXmlElement
representing the factory or null if no element exists.protected void ensureContextClassLoader()
protected void restoreContextClassLoader()
ClassLoader
for the caller.