ManagedStandaloneJ2EEEjbJarModulepublic class ManagedStandaloneJ2EEEjbJarModule extends ConfigMBeanBase implements ConfigAttributeName.StandaloneEjbJarModuleA class that represents a Standalone Managed J2EE Web module. Note that this is a
standalone J2EE module, because it is deployed independently and not
as a part of an application. Such a Web Module has certain additional
manageable interface.
When a Web ARchive is deployed, an instance of this MBean is created in
the MBeanServer. The MBean is deregistered when the module is removed.
ObjectName of this MBean is:
ias:type=StandaloneJ2EEEjbJarModule, ModuleName= |
Fields Summary |
---|
private static final String[] | MAPLIST | private static final String[] | ATTRIBUTES | private static final String[] | OPERATIONS |
Constructors Summary |
---|
public ManagedStandaloneJ2EEEjbJarModule()Default constructor sets MBean description tables
this.setDescriptions(MAPLIST, ATTRIBUTES, OPERATIONS);
| public ManagedStandaloneJ2EEEjbJarModule(String instanceName, String moduleName)
this(instanceName, moduleName, null);
| public ManagedStandaloneJ2EEEjbJarModule(String instanceName, String moduleName, com.sun.enterprise.admin.AdminContext adminContext)
this(); //set description tables
setAdminContext(adminContext);
initialize(ObjectNames.kStandaloneEjbModule, new String[]{instanceName, moduleName});
|
Methods Summary |
---|
public void | disable()Disables this module.
return; //FIXME for RI only;
/* try
{
this.setAttribute(new Attribute(kEnabled, new Boolean(false)));
super.getConfigContext().flush();
}
catch (Exception e)
{
sLogger.throwing(getClass().getName(), "disable", e);
throw new J2EEEjbJarModuleException(e.getMessage());
}
*/
| public void | enable()Enables this module.
return; //FIXME for RI only;
/* try
{
this.setAttribute(new Attribute(kEnabled, new Boolean(true)));
super.getConfigContext().flush();
}
catch (Exception e)
{
sLogger.throwing(getClass().getName(), "enable", e);
throw new J2EEEjbJarModuleException(e.getMessage());
}
*/
| private java.lang.String[] | getBeansByType(int ejbType)
try
{
String location = (String)this.getAttribute(kLocation);
return ModulesXMLHelper.getEnterpriseBeansForEjbModule(location, null, ejbType);
}
catch (Exception e)
{
sLogger.throwing(getClass().getName(), "getBeansByType", e);
throw new J2EEEjbJarModuleException(e.getMessage());
}
| public java.lang.String[] | getEnterpriseBeans()
return getBeansByType(ModulesXMLHelper.EJB_TYPE_ALL);
| public java.lang.String[] | getEntityEJBs()
return getBeansByType(ModulesXMLHelper.EJB_TYPE_ENTITY);
| public java.lang.String[] | getSessionEJBs()
return getBeansByType(ModulesXMLHelper.EJB_TYPE_SESSION);
| public java.lang.Integer | getState()Gets the jsr77 state corresponding to this module
try {
MBeanServer mbs = MBeanServerFactory.getMBeanServer();
ServerContext serverContext = ApplicationServer.getServerContext();
ObjectName objName = new ObjectName(
serverContext.getDefaultDomainName() + ":" +
"j2eeType=EJBModule," +
"name=" + ((String)this.getAttribute(kName)) + "," +
"J2EEApplication=" + "null" + "," +
"J2EEServer=" + serverContext.getInstanceName());
Integer intObj = (Integer) mbs.getAttribute(objName, "state");
return intObj;
} catch (Exception e) {
sLogger.throwing(getClass().getName(), "stop", e);
throw new J2EEEjbJarModuleException(e.getMessage());
}
| public com.sun.enterprise.admin.common.EntityStatus | getStatus()Returns the Status of this module.
EntityStatus status = null;
try
{
boolean isModuleEnabled = true; //FIXME for RI only
// boolean isModuleEnabled = ((Boolean)this.getAttribute(kEnabled)).booleanValue();
status = new EntityStatus();
if (isModuleEnabled)
{
status.setEnabled();
}
else
{
status.setDisabled();
}
}
catch (Exception e)
{
sLogger.throwing(getClass().getName(), "getStatus", e);
throw new J2EEEjbJarModuleException(e.getMessage());
}
return status;
| private void | multicastAdminEvent(java.lang.String entityName, java.lang.String actionCode)Multicasts the admin event so that the application gets loaded
dynamically without the need for reconfig.
String instanceName = super.getServerInstanceName();
InstanceEnvironment instEnv = new InstanceEnvironment(instanceName);
try {
instEnv.applyServerXmlChanges(false);
} catch (Exception e) {
sLogger.throwing(getClass().getName(), "getBeansByType", e);
throw new J2EEEjbJarModuleException(e.getMessage());
}
AdminEvent event = new ModuleDeployEvent(instanceName, entityName, "ejb", actionCode);
//AdminEventCache.populateConfigChange(super.getConfigContext(), event);
RMIClient serverInstancePinger = AdminChannel.getRMIClient(instanceName);
if (serverInstancePinger.getInstanceStatusCode() != Status.kInstanceRunningCode) {
return;
}
AdminEventResult multicastResult = AdminEventMulticaster.multicastEvent(event);
if (!AdminEventResult.SUCCESS.equals(multicastResult.getResultCode())) {
AdminEventCache cache = AdminEventCache.getInstance(instanceName);
cache.setRestartNeeded(true);
}
| public void | start()Enables the application. Difference between this method
and enable is persistence of the state. Enable method persists
the state and this method does not persist the state.
try {
String moduleName = (String)this.getAttribute(kName);
multicastAdminEvent(moduleName, BaseDeployEvent.ENABLE);
} catch (Exception e) {
sLogger.throwing(getClass().getName(), "start", e);
throw new J2EEEjbJarModuleException(e.getMessage());
}
| public void | stop()Disables the application. Difference between this method
and disable is persistence of the state. Disable method persists
the state and this method does not persist the state.
try {
String moduleName = (String)this.getAttribute(kName);
multicastAdminEvent(moduleName, BaseDeployEvent.DISABLE);
} catch (Exception e) {
sLogger.throwing(getClass().getName(), "stop", e);
throw new J2EEEjbJarModuleException(e.getMessage());
}
|
|