dev@glassfish.java.net

Re: Monitoring update

From: Lloyd Chambers <Lloyd.Chambers_at_Sun.COM>
Date: Fri, 28 Aug 2009 11:55:08 -0700

Why is ContainerMonitoring not a 'Named', instead defining its own
getName()/setName() methods?



public interface ContainerMonitoring extends ConfigBeanProxy {

     public static final String LEVEL_OFF = "OFF";
     public static final String LEVEL_LOW = "LOW";
     public static final String LEVEL_HIGH = "HIGH";

     public static final String CONNECTOR_CONNECTION_POOL = "connector-
connection-pool";
     public static final String CONNECTOR_SERVICE = "connector-service";
     public static final String EJB_CONTAINER = "ejb-container";
     public static final String HTTP_SERVICE = "http-service";
     public static final String JDBC_CONNECTION_POOL = "jdbc-
connection-pool";
     public static final String JMS_SERVICE = "jms-service";
     public static final String JVM = "jvm";
     public static final String ORB = "orb";
     public static final String THREAD_POOL = "thread-pool";
     public static final String TRANSACTION_SERVICE = "transaction-
service";
     public static final String WEB_CONTAINER = "web-container";

     /**
      * The monitoring level of this monitoring item
      * @return String with values HIGH/LOW/OFF
      */
     @Attribute (defaultValue="OFF")
     @NotNull
     public String getLevel();

     /**
      * Set the level of this monitoring module
      * @param level new monitoring level
      */

     public void setLevel(String level) throws PropertyVetoException;

     /**
      * The name of the monitoring module that has this config
      * @return String name
      */
     @Attribute(key=true)
     @NotNull
     public String getName();

     /**
      * Set the name of this monitoring module
      * @param name the monitoring name
      */
     public void setName(String name) throws PropertyVetoException;
}



On Aug 28, 2009, at 9:25 AM, Jerome Dochez wrote:

> I have finished introducing the support for ContainerMonitoring
> which is the default monitoring configuration that any container or
> appserver part can use to set the monitoring level. In the process I
> removed bunch of MonitoringItem subclasses that became unnecessary
> as these containers will now use the new ContainerMonitoring
> interface only.
>
> I also removed the upgrade code that was added to change our old
> monitoring configuration data to these defunct MonitoringItem
> subclasses. This was I believe causing the startup regression we
> experienced in the last promotion build.
>
> So there are 2 ways to have monitoring configuration for your
> component, you can use the ContainerMonitoring and have the basic
> level setting capability, nothing else to do, the monitoring
> framework will take care of changing the levels upon certain asadmin
> commands etc...
>
> You can also have a more sophisticated monitoring configuration, by
> subclassing the MonitoringItem. In such case, you will be
> responsible for providing asdmin commands and set the appropriate
> levels on the monitoring framework yourself (set of APIs to do that
> being worked on right now).
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe_at_glassfish.dev.java.net
> For additional commands, e-mail: dev-help_at_glassfish.dev.java.net
>

Lloyd Chambers
lloyd.chambers_at_sun.com
GlassFish Team