是的,AppDynamics可以计算从JMS队列和主题中应用程序消耗和发布的消息数量。下面是Java代码示例:
import com.appdynamics.agent.api.AppdynamicsAgent;
import com.appdynamics.agent.api.JmsProducerStats;
import com.appdynamics.agent.api.JmsConsumerStats;
import com.appdynamics.agent.api.JmsDestinationType;
public class JmsMessageCount {
public static void main(String[] args) {
AppdynamicsAgent.initialize();
// JMS queue name
String jmsQueueName = "QueueName";
// JMS topic name
String jmsTopicName = "TopicName";
// Get producer message count for JMS queue
JmsProducerStats jmsQueueProducerStats = AppdynamicsAgent.getJmsProducerStats(jmsQueueName, JmsDestinationType.QUEUE);
long jmsQueueProducerMessageCount = jmsQueueProducerStats.getMessageCount();
// Get consumer message count for JMS queue
JmsConsumerStats jmsQueueConsumerStats = AppdynamicsAgent.getJmsConsumerStats(jmsQueueName, JmsDestinationType.QUEUE);
long jmsQueueConsumerMessageCount = jmsQueueConsumerStats.getMessageCount();
// Get producer message count for JMS topic
JmsProducerStats jmsTopicProducerStats = AppdynamicsAgent.getJmsProducerStats(jmsTopicName, JmsDestinationType.TOPIC);
long jmsTopicProducerMessageCount = jmsTopicProducerStats.getMessageCount();
// Get consumer message count for JMS topic
JmsConsumerStats jmsTopicConsumerStats = AppdynamicsAgent.getJmsConsumerStats(jmsTopicName, JmsDestinationType.TOPIC);
long jmsTopicConsumerMessageCount = jmsTopicConsumerStats.getMessageCount();
System.out.println("JMS Queue Producer Message Count: " + jmsQueueProducerMessageCount);
System.out.println("JMS Queue Consumer Message Count: " + jmsQueueConsumerMessageCount);
System.out.println("JMS Topic Producer Message Count: " + jmsTopicProducerMessageCount);
System.out.println("J