User: juha    
  Date: 01/01/23 09:19:50

  Modified:    src/main/org/jboss/ejb/plugins MetricsInterceptor.java
  Log:
  Explicitly sets delivery mode, expiration time and priority of topic messages.
  Uses JMSType message header to declare the point of measurement.
  
  Revision  Changes    Path
  1.6       +14 -10    jboss/src/main/org/jboss/ejb/plugins/MetricsInterceptor.java
  
  Index: MetricsInterceptor.java
  ===================================================================
  RCS file: 
/products/cvs/ejboss/jboss/src/main/org/jboss/ejb/plugins/MetricsInterceptor.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- MetricsInterceptor.java   2001/01/03 08:28:32     1.5
  +++ MetricsInterceptor.java   2001/01/23 17:19:50     1.6
  @@ -15,6 +15,7 @@
   import javax.naming.InitialContext;
   import javax.naming.NamingException;
   
  +import javax.jms.DeliveryMode;
   import javax.jms.Topic;
   import javax.jms.TopicPublisher;
   import javax.jms.TopicSession;
  @@ -31,8 +32,8 @@
   // jboss imports
   import org.jboss.ejb.Container;
   import org.jboss.ejb.MethodInvocation;
  +import org.jboss.monitor.MetricsConstants;
   
  -
   /**
    * MetricsInterceptor is used for gathering data from the container for admin
    * interface.
  @@ -41,7 +42,8 @@
    *
    * @author  <a href="mailto:[EMAIL PROTECTED]">Juha Lindfors</a>
    */
  -public class MetricsInterceptor extends AbstractInterceptor {
  +public class MetricsInterceptor extends AbstractInterceptor 
  +                                implements MetricsConstants {
   
       // Constants -----------------------------------------------------
       
  @@ -98,7 +100,7 @@
      public void init() {
   
          try {
  -           final boolean TRANSACTED       = false;
  +           final boolean IS_TRANSACTED    = false;
              final int     ACKNOWLEDGE_MODE = Session.DUPS_OK_ACKNOWLEDGE;
              
              namingContext = new InitialContext();
  @@ -109,7 +111,7 @@
              TopicConnection connection = factory.createTopicConnection();
   
              metricsTopic     = (Topic)namingContext.lookup("topic/metrics");
  -           metricsSession   = connection.createTopicSession(TRANSACTED, 
ACKNOWLEDGE_MODE);
  +           metricsSession   = connection.createTopicSession(IS_TRANSACTED, 
ACKNOWLEDGE_MODE);
              metricsPub       = metricsSession.createPublisher(metricsTopic);     
              
              connection.start();
  @@ -129,8 +131,8 @@
       private void sendMessage(long time, Message msg) {        
   
           try {
  -            msg.setStringProperty("TIME",  String.valueOf(time));
  -            metricsPub.publish(metricsTopic, msg);
  +            msg.setLongProperty(TIME,  time);
  +            metricsPub.publish(msg, DeliveryMode.NON_PERSISTENT, 1, 1);
           }
           catch (Exception e) {
               // catch JMSExceptions, NPE's etc and prevent them from propagating
  @@ -144,11 +146,13 @@
               Message  msg    =  metricsSession.createMessage();
               Transaction tx  =  mi.getTransaction();
               Principal principal = mi.getPrincipal();
  +            
  +            msg.setJMSType(INVOCATION_METRICS);
  +           // msg.setJMSExpiration(1);
               
  -            msg.setStringProperty("CHECKPOINT",  checkpoint);
  -            //msg.setStringProperty("APPLICATION", applicationName);
  -            msg.setStringProperty("BEAN",   beanName);
  -            msg.setObjectProperty("METHOD", mi.getMethod().getName());    
  +            msg.setStringProperty(CHECKPOINT, checkpoint);
  +            msg.setStringProperty(BEAN,   beanName);
  +            msg.setObjectProperty(METHOD, mi.getMethod().getName());    
               
               if (tx != null) 
                   msg.setStringProperty("ID",  String.valueOf(tx.hashCode()));
  
  
  

Reply via email to