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()));