FileDocCategorySizeDatePackage
MonitoringLifeCycleImpl.javaAPI DocGlassfish v2 API6277Fri May 04 22:24:42 BST 2007com.sun.enterprise.admin.wsmgmt.lifecycle

MonitoringLifeCycleImpl

public class MonitoringLifeCycleImpl extends Object
Installs filters for each web service end point, according to their configuration.
author
Satish Viswanatham
since
J2SE 5.0

Fields Summary
static MonitoringLifeCycleImpl
flcm
private static final com.sun.enterprise.admin.monitor.registry.MonitoringLevel
OFF
private static final com.sun.enterprise.admin.monitor.registry.MonitoringLevel
HIGH
private static final com.sun.enterprise.admin.monitor.registry.MonitoringLevel
LOW
Constructors Summary
Methods Summary
public voidinitializeMonitoring(java.lang.String appId, java.lang.String modName, java.lang.String ctxRoot, boolean isStandAlone, boolean isEjbModule, java.lang.String vs, com.sun.enterprise.admin.wsmgmt.config.spi.WebServiceConfig wsConfig)


      if ( wsConfig == null ) {
        return;
      }

      String monLevel = wsConfig.getMonitoringLevel();

      MonitoringLevel newLevel = MonitoringLevel.instance(monLevel);
      if ( newLevel.equals(MonitoringLevel.OFF) ) {
        // monitoring is off, just return
        return;
      }

      instrumentMonitoring(wsConfig.getEndpointName(), modName, ctxRoot,
                           isStandAlone, vs, appId, MonitoringLevel.OFF,
                           newLevel, isEjbModule);   
    
public voidinstrumentMonitoring(java.lang.String name, java.lang.String moduleName, java.lang.String ctxRoot, boolean isStandAlone, java.lang.String vs, java.lang.String j2eeAppName, com.sun.enterprise.admin.monitor.registry.MonitoringLevel oldLevel, com.sun.enterprise.admin.monitor.registry.MonitoringLevel newLevel, boolean isEjbModule)
This method is used during initialization to install Filters required for Monitoring. This method is also called during Monitoring level change event and during deploy/un-deploy

param
name Name of the web service endpoint
param
moduleName Name of the module (bundleName)
param
boolean Indicates if this module is standalone or not
param
vs Name of the virtual server
param
j2eeAppName Name of the J2EE application
param
oldLevel Old Monitoring Level
param
newLevel New Monitoring Level
param
isEjbModule true, if the module of ejb type
throws

    
        if ( name == null) {
            return;
        }

        EndpointRegistration epr = new EndpointRegistration( name, moduleName,
            ctxRoot, isStandAlone, vs, j2eeAppName, isEjbModule);

        // both Monitoring levels are same, so just return
        if ( oldLevel == newLevel ) {
            return;
        }

        if ( oldLevel == OFF ) {
            if ( newLevel == LOW  ) {
                epr.enableLOW();
            }  
            if ( newLevel == HIGH ) {
                epr.enableLOW();
                // and enable high functionality too
            }  
        }

        if ( oldLevel == LOW ) {
            if ( newLevel == HIGH) {
                // XXX not implemented yet
            }
            if ( newLevel == OFF ){
                epr.disableLOW();
            }
        }

        if ( oldLevel == HIGH ) {
            if ( newLevel == LOW ){
                // not implemented yet
                // keep only LOW
            }
            if ( newLevel == OFF ){
                epr.disableLOW();
            }
        }
    
public voiduninitializeMonitoring(java.lang.String appId, java.lang.String modName, java.lang.String ctxRoot, boolean isStandAlone, boolean isEjbModule, java.lang.String vs, com.sun.enterprise.admin.wsmgmt.config.spi.WebServiceConfig wsConfig)


      if (wsConfig == null) {
        return;
      }
      
      String monLevel = wsConfig.getMonitoringLevel();

      MonitoringLevel oldLevel = MonitoringLevel.instance(monLevel);
      if ( oldLevel.equals(MonitoringLevel.OFF) ) {
        // monitoring is off, just return
        return;
      }

      instrumentMonitoring(wsConfig.getEndpointName(),modName, ctxRoot,
                           isStandAlone, vs, appId, oldLevel,
                           MonitoringLevel.OFF, isEjbModule);