FileDocCategorySizeDatePackage
ManagedStandaloneJ2EEEjbJarModule.javaAPI DocGlassfish v2 API12298Fri May 04 22:33:56 BST 2007com.sun.enterprise.admin.server.core.mbean.config

ManagedStandaloneJ2EEEjbJarModule

public class ManagedStandaloneJ2EEEjbJarModule extends ConfigMBeanBase implements ConfigAttributeName.StandaloneEjbJarModule
A 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 voiddisable()
Disables this module.

throws
J2EEEjbJarModuleException if there is some error during disabling.

        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 voidenable()
Enables this module.

throws
J2EEEjbJarModuleException if there is some error during enablement.

        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.IntegergetState()
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.EntityStatusgetStatus()
Returns the Status of this module.

throws
J2EEEjbJarModuleException if the status can't be retrieved.

        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 voidmulticastAdminEvent(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 voidstart()
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 voidstop()
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());
        }