FileDocCategorySizeDatePackage
DomainRootImplBase.javaAPI DocGlassfish v2 API6811Fri May 04 22:23:16 BST 2007com.sun.enterprise.management

DomainRootImplBase

public class DomainRootImplBase extends com.sun.enterprise.management.support.AMXNonConfigImplBase

Fields Summary
private String
mAppserverDomainName
private static final Set
NOT_SUPERFLUOUS
private static final long
AMX_READY_SLEEP_DURATION
private static final Set
OFFLINE_INCAPABLE_J2EE_TYPES
Constructors Summary
public DomainRootImplBase()

		mAppserverDomainName	= null;
	
Methods Summary
private voidamxNowReady()

	    if ( ! getAMXReady() )
	    {
	        throw new IllegalStateException();
	    }
	    sendNotification( DomainRoot.AMX_READY_NOTIFICATION_TYPE );
	
public booleangetAMXReady()

	    return BootUtil.getInstance().getAMXReady();
	
public java.lang.StringgetAppserverDomainName()

		return( mAppserverDomainName );
	
public javax.management.ObjectNamegetDomainNotificationEmitterServiceObjectName()

		return( getContaineeObjectName( XTypes.NOTIFICATION_EMITTER_SERVICE,
			NotificationEmitterServiceKeys.DOMAIN_KEY ) );
	
public java.lang.StringgetGroup()

		return( AMX.GROUP_UTILITY );
	
protected final java.util.SetgetNotSuperfluousMethods()

	      
	
	
	    return GSetUtil.newSet( super.getNotSuperfluousMethods(), NOT_SUPERFLUOUS );
	
protected booleanisOfflineCapable(com.sun.enterprise.management.support.TypeInfo childInfo)

        
		 
	    
	
	    final String    j2eeType    = childInfo.getJ2EEType();
	    
	    return (! OFFLINE_INCAPABLE_J2EE_TYPES.contains( j2eeType )) &&
	            super.isOfflineCapable( childInfo );
	
public voidpreRegisterDone()

		super.preRegisterDone();
		
	    final CheckStartedThread    t   = new CheckStartedThread();
	    t.start();
	
public javax.management.ObjectNamepreRegisterHook(javax.management.ObjectName selfObjectName)

		mAppserverDomainName	= BootUtil.getInstance().getAppserverDomainName();
	
	    return selfObjectName;
	
protected final voidregisterMisc()

		super.registerMisc();
		
		registerNotificationEmitterService();
	
protected final voidregisterNotificationEmitterService()

		final ObjectNames	objectNames	= ObjectNames.getInstance( getJMXDomain() );
		final ObjectName	childObjectName	=
			objectNames.buildContaineeObjectName( getObjectName(),
				getFullType(), XTypes.NOTIFICATION_EMITTER_SERVICE,
					NotificationEmitterServiceKeys.DOMAIN_KEY);
		
		final NotificationEmitterService	domainNES	= new NotificationEmitterServiceImpl();
		try
		{
			getMBeanServer().registerMBean( domainNES, childObjectName );
		}
		catch( JMException e )
		{
			logWarning( "DomainRootImpl: Can't load global NotificationEmitterService" );
		}
	
protected voidregisterSelfMgrChild(com.sun.enterprise.management.support.TypeInfo childInfo)

		/*
		KEEP until implemented
		final String	childJ2EEType	= childInfo.getJ2EEType( );
		
		if ( getOffline() &&
		        childJ2EEType.equals( XTypes.CONFIG_DOTTED_NAMES ) )
		{
		    final OfflineConfigDottedNamesImpl   impl   = new OfflineConfigDottedNamesImpl();
		    
    		final ObjectName	childObjectName	=
    			getObjectNames().buildContaineeObjectName( getObjectName(),
    			    getFullType(), childJ2EEType );
    			    
    		registerMBean( impl, childObjectName );
		}
		else
		*/
		{
		    super.registerSelfMgrChild( childInfo );
		}
	
public voidwaitAMXReady()

        while ( ! getAMXReady() )
        {
            sleepMillis( AMX_READY_SLEEP_DURATION );
        }