Package org.apache.axis2.engine
Class AxisConfiguration
- java.lang.Object
-
- org.apache.axis2.description.AxisDescription
-
- org.apache.axis2.engine.AxisConfiguration
-
- All Implemented Interfaces:
DescriptionConstants
,ParameterInclude
public class AxisConfiguration extends AxisDescription
Class AxisConfiguration
-
-
Field Summary
Fields Modifier and Type Field Description protected PhasesInfo
phasesinfo
-
Fields inherited from class org.apache.axis2.description.AxisDescription
engagedModules, parameterObservers, parent
-
Fields inherited from interface org.apache.axis2.description.DescriptionConstants
CLASSLOADER_KEY, CONTEXTPATH_KEY, EXECUTION_CHAIN_KEY, EXECUTION_FAULT_CHAIN_KEY, EXECUTION_OUT_CHAIN_KEY, IN_FAULTFLOW_KEY, INFLOW_KEY, MESSAGE_RECEIVER_KEY, MODULEREF_KEY, OPERATION_KEY, OUT_FAULTFLOW_KEY, OUTFLOW_KEY, PARAMETER_KEY, PHASES_KEY, SERVICE_CLASS_NAME, STYLE_KEY
-
-
Constructor Summary
Constructors Constructor Description AxisConfiguration()
Constructor AxisConfiguration.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addDataLocator(String dialect, AxisDataLocator dataLocator)
For internal used only!void
addDataLocatorClassNames(String dialect, String classname)
Allows to define/configure Data Locator for specified dialect at Axis 2 Configuration.void
addDefaultModuleVersion(String moduleName, String moduleVersion)
Adds a default module version, which can be done either programmatically or by using axis2.xml.void
addFaultyServiceDuetoModule(String moduleName, FaultyServiceData faultyServiceData)
Updates the map that keeps track of faulty services due to modulesvoid
addGlobalModuleRef(String moduleName)
Add an AxisModule to the list of globally deployed modules.void
addLocalPolicyAssertion(QName name)
void
addMessageBuilder(String contentType, Builder messageBuilder)
Register a messageBuilder implementation against a content type.void
addMessageFormatter(String contentType, MessageFormatter messageFormatter)
Register a messageFormatter implementation against a content type.void
addMessageReceiver(String mepURL, MessageReceiver messageReceiver)
void
addModule(AxisModule module)
Add an available Module to this configurationvoid
addModuleConfig(ModuleConfiguration moduleConfiguration)
Adds module configuration, if there is a moduleConfig tag in service.void
addObservers(AxisObserver axisObserver)
Register given AxisObserver object to theAxisConfiguration
.void
addService(AxisService service)
Add an AxisService to our global configuration.void
addServiceGroup(AxisServiceGroup axisServiceGroup)
void
addServiceToExistingServiceGroup(AxisService axisService, String serviceGroupName)
This method is used to add a service to an existing active service group in the axis configurationvoid
addTargetResolver(TargetResolver tr)
void
addToAllServicesMap(AxisService axisService)
void
addTransportIn(TransportInDescription transport)
Add an incoming transport description (i.e. receiver) to our configuration.void
addTransportOut(TransportOutDescription transport)
Add an outgoing transport description (i.e. sender) to our configuration.void
cleanup()
void
deployModule(String moduleFileName)
void
engageGlobalModules()
Engage all the previously added global modules.void
engageModule(String moduleref)
Engages the default module version corresponding to given module name , or if the module name contains version number in it then it will engage the correct module.void
engageModule(String moduleName, String versionID)
Engages a module using given name and its version ID.ClusteringAgent
getClusteringAgent()
AxisConfigurator
getConfigurator()
AxisDataLocator
getDataLocator(String dialect)
Return DataLocator instance for specified dialect.String
getDataLocatorClassName(String dialect)
Return classname of DataLocator configured for specified dialect.AxisModule
getDefaultModule(String moduleName)
String
getDefaultModuleVersion(String moduleName)
Hashtable<String,String>
getFaultyModules()
Hashtable<String,String>
getFaultyServices()
Map<String,FaultyServiceData>
getFaultyServicesDuetoModule(String moduleName)
Returns a map which contains the faulty services due a particular module.Map<String,Map<String,FaultyServiceData>>
getFaultyServicesDuetoModules()
Returns the map which keeps track of faulty services due to modules.List<Phase>
getInFaultFlowPhases()
List<Phase>
getInFlowPhases()
Object
getKey()
List<QName>
getLocalPolicyAssertions()
Builder
getMessageBuilder(String contentType)
Get a Builder for a particular content type.Builder
getMessageBuilder(String contentType, boolean defaultBuilder)
MessageFormatter
getMessageFormatter(String contentType)
Get a MessageFormatter for the specified content type.MessageReceiver
getMessageReceiver(String mepURL)
AxisModule
getModule(String name)
Get an AxisModule by name.AxisModule
getModule(String moduleName, String moduleVersion)
Return the module having name=moduleName & version=moduleVersionClassLoader
getModuleClassLoader()
Get the class loader that becomes the parent of all the modulesModuleConfiguration
getModuleConfig(String moduleName)
HashMap<String,AxisModule>
getModules()
List<AxisModule>
getModulesForPolicyNamesapce(String namesapce)
ArrayList<AxisObserver>
getObserversList()
This method returns read-only list of AxisObservers registered with thisAxisConfiguration
.List<Phase>
getOutFaultFlowPhases()
List<Phase>
getOutFlowPhases()
PhasesInfo
getPhasesInfo()
URL
getRepository()
AxisService
getService(String name)
Method getService.ClassLoader
getServiceClassLoader()
AxisService
getServiceForActivation(String serviceName)
Service can start and stop, once stopped it cannot be accessed, so we need a way to get the service even if service is not active.AxisServiceGroup
getServiceGroup(String serviceNameAndGroupString)
Iterator<AxisServiceGroup>
getServiceGroups()
HashMap<String,AxisService>
getServices()
ClassLoader
getSystemClassLoader()
TargetResolver
getTargetResolverChain()
getTargetResolverChain returns an instance of TargetResolver which iterates over the registered TargetResolvers, calling each one in turn when resolveTarget is called.TransactionConfiguration
getTransactionConfiguration()
TransportInDescription
getTransportIn(String name)
TransportOutDescription
getTransportOut(String name)
HashMap<String,TransportInDescription>
getTransportsIn()
HashMap<String,TransportOutDescription>
getTransportsOut()
void
insertPhase(Deployable d, int flow)
This method can be used to insert a phase at the runtime for a given location And the relative location can be specified by beforePhase and afterPhase.boolean
isAssertionLocal(QName name)
boolean
isChildFirstClassLoading()
boolean
isEngaged(String moduleId)
Check if a given module is engaged at this level.boolean
isEngaged(AxisModule axisModule)
boolean
isGlobalModulesRegistered(String moduleName)
boolean
isStart()
void
notifyObservers(AxisEvent event, AxisModule moule)
void
notifyObservers(AxisEvent event, AxisService service)
void
notifyObservers(AxisEvent event, AxisServiceGroup serviceGroup)
void
onDisengage(AxisModule module)
To dis-engage a module from the system.void
onEngage(AxisModule module, AxisDescription engager)
void
registerLocalPolicyAssertions(AxisModule axisModule)
void
registerModulePolicySupport(AxisModule axisModule)
void
removeFaultyService(String key)
void
removeFaultyServiceDuetoModule(String moduleName, String serviceGroupName)
Removes a faulty service for a given module from the internal map.void
removeLocalPolicyAssertion(QName name)
void
removeModule(String moduleName, String moduleVersion)
Remove a module with moduleName & moduleVersionvoid
removeModule(String moduleName, Version moduleVersion)
Remove a module with moduleName & moduleVersionvoid
removeObserver(AxisObserver axisObserver)
Unregister the given AxisObserver object if it is registered with theAxisConfiguration
.void
removeService(String name)
Remove a service.AxisServiceGroup
removeServiceGroup(String serviceGroupName)
void
setClusteringAgent(ClusteringAgent clusteringAgent)
void
setConfigurator(AxisConfigurator configurator)
void
setGlobalOutPhase(List<Phase> outPhases)
void
setInFaultPhases(List<Phase> list)
Set the inbound fault phases TODO: Passing mutable lists like this and using them directly is bad practice.void
setInPhasesUptoAndIncludingPostDispatch(List<Phase> inPhasesUptoAndIncludingPostDispatch)
void
setModuleClassLoader(ClassLoader classLoader)
void
setOutFaultPhases(List<Phase> list)
Set the outbound fault phases TODO: Passing mutable lists like this and using them directly is bad practice.void
setPhasesInfo(PhasesInfo phasesInfo)
void
setRepository(URL axis2Repository)
void
setServiceClassLoader(ClassLoader classLoader)
void
setStart(boolean start)
void
setSystemClassLoader(ClassLoader classLoader)
void
setTransactionConfig(TransactionConfiguration transactionConfiguration)
void
startService(String serviceName)
void
stopService(String serviceName)
void
validateSystemPredefinedPhases()
Checks whether the system pre-defined phases for all the flows, have been changed.-
Methods inherited from class org.apache.axis2.description.AxisDescription
addChild, addChild, addParameter, addParameter, addParameterObserver, applyPolicy, applyPolicy, deserializeParameters, disengageModule, engageModule, engageModule, getAxisConfiguration, getChild, getChildren, getDocumentation, getDocumentationNode, getEngagedModules, getParameter, getParameters, getParameterValue, getParent, getPolicyInclude, getPolicySubject, isParameterLocked, isParameterTrue, removeChild, removeParameter, removeParameterObserver, setDocumentation, setDocumentation, setParent, setPolicyInclude
-
-
-
-
Field Detail
-
phasesinfo
protected PhasesInfo phasesinfo
-
-
Method Detail
-
addMessageReceiver
public void addMessageReceiver(String mepURL, MessageReceiver messageReceiver)
-
addMessageBuilder
public void addMessageBuilder(String contentType, Builder messageBuilder)
Register a messageBuilder implementation against a content type. This is used by Axis2 to support different message formats.- Parameters:
contentType
- the relevant content-type (i.e. "text/xml")messageBuilder
- a Builder implementation
-
addMessageFormatter
public void addMessageFormatter(String contentType, MessageFormatter messageFormatter)
Register a messageFormatter implementation against a content type. This is used by Axis2 to support serialization of messages to different message formats. (Eg: JSON)- Parameters:
contentType
- the relevant content-type (i.e. "text/xml")messageFormatter
- a MessageFormatter implementation
-
addModule
public void addModule(AxisModule module) throws AxisFault
Add an available Module to this configuration- Parameters:
module
- an AxisModule- Throws:
AxisFault
- in case of error
-
deployModule
public void deployModule(String moduleFileName) throws DeploymentException
- Throws:
DeploymentException
-
removeModule
public void removeModule(String moduleName, String moduleVersion)
Remove a module with moduleName & moduleVersion- Parameters:
moduleName
- the name of the module to removemoduleVersion
- the version of the module to remove
-
removeModule
public void removeModule(String moduleName, Version moduleVersion)
Remove a module with moduleName & moduleVersion- Parameters:
moduleName
- the name of the module to removemoduleVersion
- the version of the module to remove
-
addModuleConfig
public void addModuleConfig(ModuleConfiguration moduleConfiguration)
Adds module configuration, if there is a moduleConfig tag in service.- Parameters:
moduleConfiguration
- a ModuleConfiguration to remember
-
addObservers
public void addObservers(AxisObserver axisObserver)
Register given AxisObserver object to theAxisConfiguration
.- Parameters:
axisObserver
- the axis observer
-
removeObserver
public void removeObserver(AxisObserver axisObserver)
Unregister the given AxisObserver object if it is registered with theAxisConfiguration
.- Parameters:
axisObserver
- the axis observer
-
addService
public void addService(AxisService service) throws AxisFault
Add an AxisService to our global configuration. Since services must be in ServiceGroups, we construct an anonymous AxisServiceGroup around the passed AxisService and then call addServiceGroup().- Parameters:
service
- an AxisService to deploy.- Throws:
AxisFault
- if something goes wrong (invalid service, service is already deployed, etc...)
-
addServiceGroup
public void addServiceGroup(AxisServiceGroup axisServiceGroup) throws AxisFault
- Throws:
AxisFault
-
addServiceToExistingServiceGroup
public void addServiceToExistingServiceGroup(AxisService axisService, String serviceGroupName) throws AxisFault
This method is used to add a service to an existing active service group in the axis configuration- Parameters:
axisService
- service to be added to the existing service group providedserviceGroupName
- name of the service group which should be existing in the axis configuration- Throws:
AxisFault
- in case of an error in adding the service to the group specified or if the group is not existing
-
addToAllServicesMap
public void addToAllServicesMap(AxisService axisService) throws AxisFault
- Throws:
AxisFault
-
removeServiceGroup
public AxisServiceGroup removeServiceGroup(String serviceGroupName) throws AxisFault
- Throws:
AxisFault
-
addTransportIn
public void addTransportIn(TransportInDescription transport) throws AxisFault
Add an incoming transport description (i.e. receiver) to our configuration.- Parameters:
transport
- TransportInDescription to add.- Throws:
AxisFault
-
addTransportOut
public void addTransportOut(TransportOutDescription transport) throws AxisFault
Add an outgoing transport description (i.e. sender) to our configuration.- Parameters:
transport
- TransportOutDescription to add.- Throws:
AxisFault
-
engageModule
public void engageModule(String moduleref) throws AxisFault
Engages the default module version corresponding to given module name , or if the module name contains version number in it then it will engage the correct module. Both of the below two cases are valid 1. engageModule("addressing"); 2. engageModule("addressing-1.23");- Parameters:
moduleref
- name of module to engage- Throws:
AxisFault
-
engageModule
public void engageModule(String moduleName, String versionID) throws AxisFault
Engages a module using given name and its version ID.- Parameters:
moduleName
- name of module to engageversionID
- version of module to engage- Throws:
AxisFault
-
onEngage
public void onEngage(AxisModule module, AxisDescription engager) throws AxisFault
- Overrides:
onEngage
in classAxisDescription
- Throws:
AxisFault
-
onDisengage
public void onDisengage(AxisModule module) throws AxisFault
To dis-engage a module from the system. This will remove all the handlers belonging to this module from all the handler chains.- Overrides:
onDisengage
in classAxisDescription
- Parameters:
module
- module to disengage- Throws:
AxisFault
-
notifyObservers
public void notifyObservers(AxisEvent event, AxisService service)
-
notifyObservers
public void notifyObservers(AxisEvent event, AxisModule moule)
-
notifyObservers
public void notifyObservers(AxisEvent event, AxisServiceGroup serviceGroup)
-
removeService
public void removeService(String name) throws AxisFault
Remove a service.- Parameters:
name
- name of service to remove- Throws:
AxisFault
-
addGlobalModuleRef
public void addGlobalModuleRef(String moduleName)
Add an AxisModule to the list of globally deployed modules. TODO: should this check for duplicate names?- Parameters:
moduleName
- name of AxisModule to add to list.
-
engageGlobalModules
public void engageGlobalModules() throws AxisFault
Engage all the previously added global modules.- Throws:
AxisFault
- if an individual engageModule() fails
-
addFaultyServiceDuetoModule
public void addFaultyServiceDuetoModule(String moduleName, FaultyServiceData faultyServiceData)
Updates the map that keeps track of faulty services due to modules- Parameters:
moduleName
- This service has become faulty due this module.faultyServiceData
- Data that are required when recovering the faulty service.
-
getFaultyServicesDuetoModule
public Map<String,FaultyServiceData> getFaultyServicesDuetoModule(String moduleName)
Returns a map which contains the faulty services due a particular module.- Parameters:
moduleName
- name of the module about which to inquire- Returns:
- a Map<String, FaultyServiceData> mapping service name to data
-
getFaultyServicesDuetoModules
public Map<String,Map<String,FaultyServiceData>> getFaultyServicesDuetoModules()
Returns the map which keeps track of faulty services due to modules.- Returns:
- a Map keyed by module name, containing Maps keyed by service name containing FaultyServiceData for each faulty service.
-
removeFaultyServiceDuetoModule
public void removeFaultyServiceDuetoModule(String moduleName, String serviceGroupName)
Removes a faulty service for a given module from the internal map. TODO: Doesn't this actually remove a faulty service *group*? And should this even be public?- Parameters:
moduleName
- name of the module to look upserviceGroupName
- name of the service group to remove
-
removeFaultyService
public void removeFaultyService(String key)
-
getMessageReceiver
public MessageReceiver getMessageReceiver(String mepURL)
-
getMessageBuilder
public Builder getMessageBuilder(String contentType)
Get a Builder for a particular content type.- Parameters:
contentType
- the desired content type- Returns:
- the configured message builder implementation class name against the given content type.
-
getMessageFormatter
public MessageFormatter getMessageFormatter(String contentType)
Get a MessageFormatter for the specified content type.- Parameters:
contentType
- content type to look up- Returns:
- a MessageFormatter corresponding to the given content type, or null.
-
getModule
public AxisModule getModule(String name)
Get an AxisModule by name. If the exact name passed (which might contain a version) is present, we'll return that, otherwise we'll look for the default version *if* there is no version in the passed name.- Parameters:
name
- module name to look up- Returns:
- an AxisModule if found, or null
-
getModule
public AxisModule getModule(String moduleName, String moduleVersion)
Return the module having name=moduleName & version=moduleVersion- Parameters:
moduleName
- The module namemoduleVersion
- The version of the module- Returns:
- The AxisModule having name=moduleName & version=moduleVersion
-
getModuleClassLoader
public ClassLoader getModuleClassLoader()
Get the class loader that becomes the parent of all the modules- Returns:
- a ClassLoader
-
getModuleConfig
public ModuleConfiguration getModuleConfig(String moduleName)
-
getModules
public HashMap<String,AxisModule> getModules()
- Returns:
- Returns HashMap.
-
getPhasesInfo
public PhasesInfo getPhasesInfo()
-
getRepository
public URL getRepository()
-
getService
public AxisService getService(String name) throws AxisFault
Method getService.- Parameters:
name
- the name of the service to look up- Returns:
- an AxisService if found, or null
- Throws:
AxisFault
-
getServiceForActivation
public AxisService getServiceForActivation(String serviceName)
Service can start and stop, once stopped it cannot be accessed, so we need a way to get the service even if service is not active.- Parameters:
serviceName
- name to look up- Returns:
- AxisService
-
getServiceClassLoader
public ClassLoader getServiceClassLoader()
-
getServiceGroup
public AxisServiceGroup getServiceGroup(String serviceNameAndGroupString)
-
getServiceGroups
public Iterator<AxisServiceGroup> getServiceGroups()
-
getServices
public HashMap<String,AxisService> getServices()
-
getSystemClassLoader
public ClassLoader getSystemClassLoader()
-
getTransportIn
public TransportInDescription getTransportIn(String name)
-
getTransportOut
public TransportOutDescription getTransportOut(String name)
-
getTransportsIn
public HashMap<String,TransportInDescription> getTransportsIn()
-
getTransportsOut
public HashMap<String,TransportOutDescription> getTransportsOut()
-
isEngaged
public boolean isEngaged(String moduleId)
Description copied from class:AxisDescription
Check if a given module is engaged at this level.- Overrides:
isEngaged
in classAxisDescription
- Parameters:
moduleId
- module to investigate.- Returns:
- true if engaged, false if not. TODO: Handle versions? isEngaged("addressing") should be true even for versioned modulename...
-
isEngaged
public boolean isEngaged(AxisModule axisModule)
- Overrides:
isEngaged
in classAxisDescription
-
setInFaultPhases
public void setInFaultPhases(List<Phase> list)
Set the inbound fault phases TODO: Passing mutable lists like this and using them directly is bad practice.- Parameters:
list
- a List of Phases which will become our inbound fault flow
-
setInPhasesUptoAndIncludingPostDispatch
public void setInPhasesUptoAndIncludingPostDispatch(List<Phase> inPhasesUptoAndIncludingPostDispatch)
-
setModuleClassLoader
public void setModuleClassLoader(ClassLoader classLoader)
-
setOutFaultPhases
public void setOutFaultPhases(List<Phase> list)
Set the outbound fault phases TODO: Passing mutable lists like this and using them directly is bad practice.- Parameters:
list
- a List of Phases which will become our outbound fault flow
-
setPhasesInfo
public void setPhasesInfo(PhasesInfo phasesInfo)
-
setRepository
public void setRepository(URL axis2Repository)
-
setServiceClassLoader
public void setServiceClassLoader(ClassLoader classLoader)
-
setSystemClassLoader
public void setSystemClassLoader(ClassLoader classLoader)
-
addDefaultModuleVersion
public void addDefaultModuleVersion(String moduleName, String moduleVersion)
Adds a default module version, which can be done either programmatically or by using axis2.xml. The default module version is important if user asks to engage a module without given version ID, in which case, the default version is engaged. TODO: This currently does NOTHING if a default has already been set. Should either overwrite or throw.- Parameters:
moduleName
- the name of the module for which we're setting the default versionmoduleVersion
- the default version
-
getDefaultModule
public AxisModule getDefaultModule(String moduleName)
-
getClusteringAgent
public ClusteringAgent getClusteringAgent()
-
setClusteringAgent
public void setClusteringAgent(ClusteringAgent clusteringAgent)
-
getTransactionConfiguration
public TransactionConfiguration getTransactionConfiguration()
-
setTransactionConfig
public void setTransactionConfig(TransactionConfiguration transactionConfiguration)
-
getKey
public Object getKey()
- Specified by:
getKey
in classAxisDescription
-
getModulesForPolicyNamesapce
public List<AxisModule> getModulesForPolicyNamesapce(String namesapce)
-
registerModulePolicySupport
public void registerModulePolicySupport(AxisModule axisModule)
-
registerLocalPolicyAssertions
public void registerLocalPolicyAssertions(AxisModule axisModule)
-
getObserversList
public ArrayList<AxisObserver> getObserversList()
This method returns read-only list of AxisObservers registered with thisAxisConfiguration
.- Returns:
- ArrayList
-
isStart
public boolean isStart()
-
setStart
public void setStart(boolean start)
-
getTargetResolverChain
public TargetResolver getTargetResolverChain()
getTargetResolverChain returns an instance of TargetResolver which iterates over the registered TargetResolvers, calling each one in turn when resolveTarget is called.- Returns:
- a TargetResolver which iterates over all registered TargetResolvers.
-
addTargetResolver
public void addTargetResolver(TargetResolver tr)
-
addLocalPolicyAssertion
public void addLocalPolicyAssertion(QName name)
-
removeLocalPolicyAssertion
public void removeLocalPolicyAssertion(QName name)
-
isAssertionLocal
public boolean isAssertionLocal(QName name)
-
addDataLocatorClassNames
public void addDataLocatorClassNames(String dialect, String classname)
Allows to define/configure Data Locator for specified dialect at Axis 2 Configuration.- Parameters:
dialect
- - an absolute URI represents the format and version of dataclassname
- - class name of the Data Locator configured to support retrieval for the specified dialect.
-
addDataLocator
public void addDataLocator(String dialect, AxisDataLocator dataLocator)
For internal used only! To store instance of DataLocator when it is first loaded. This allows to reuse of the DataLocator after it is initially loaded.- Parameters:
dialect
- - an absolute URI represents the format and version of datadataLocator
- - specified an DataLocator instance to support retrieval of the specified dialect.
-
getDataLocator
public AxisDataLocator getDataLocator(String dialect)
Return DataLocator instance for specified dialect.- Parameters:
dialect
- the dialect to look up- Returns:
- an AxisDataLocator, or null
-
getDataLocatorClassName
public String getDataLocatorClassName(String dialect)
Return classname of DataLocator configured for specified dialect.- Parameters:
dialect
- the dialect to look up- Returns:
- a String containing a class name, or null
-
validateSystemPredefinedPhases
public void validateSystemPredefinedPhases() throws DeploymentException
Checks whether the system pre-defined phases for all the flows, have been changed. If they have been changed, throws a DeploymentException.- Throws:
DeploymentException
-
getConfigurator
public AxisConfigurator getConfigurator()
-
setConfigurator
public void setConfigurator(AxisConfigurator configurator)
-
cleanup
public void cleanup()
-
insertPhase
public void insertPhase(Deployable d, int flow) throws AxisFault
This method can be used to insert a phase at the runtime for a given location And the relative location can be specified by beforePhase and afterPhase. Parameters Either or both of them can be null , if both the parameters are null then the phase will be added some where in the global phase. If one of them are null then the phase will be added - If the beforePhase is null then the phase will be added after the afterPhase - If the after phase is null then the phase will be added before the beforePhase Type of the flow will be specified by the parameter flow. 1 - Inflow 2 - out flow 3 - fault in flow 4 - fault out flow- Parameters:
d
- the Deployable representing the Phase to deployflow
- the type of the flow- Throws:
AxisFault
- : If something went wrong
-
isChildFirstClassLoading
public boolean isChildFirstClassLoading()
-
isGlobalModulesRegistered
public boolean isGlobalModulesRegistered(String moduleName)
-
-