activeMQ JMS 代码监控

[b]二、代码监控[/b]


import java.util.Collection;

import org.apache.activemq.broker.jmx.BrokerViewMBean;
import org.apache.activemq.broker.jmx.QueueViewMBean;
import org.apache.activemq.broker.jmx.TopicViewMBean;
import org.apache.activemq.web.RemoteJMXBrokerFacade;
import org.apache.activemq.web.config.SystemPropertiesConfiguration;

/**
* JMS监控
* @author showlike
* @4:53:41 PM @Jan 6, 2014
*/
public class JmsMonitoring {

public static void main(String[] args) {
try{
RemoteJMXBrokerFacade createConnector = new RemoteJMXBrokerFacade();
//填写链接属性
System.setProperty("webconsole.jmx.url","service:jmx:rmi:///jndi/rmi://127.0.0.1:11099/jmxrmi");
System.setProperty("webconsole.jmx.user", "controlRole");
System.setProperty("webconsole.jmx.password", "abcd1234");
//创建配置
SystemPropertiesConfiguration configuration = new SystemPropertiesConfiguration();
//创建链接
createConnector.setConfiguration(configuration);

broker(createConnector);
// topic(createConnector);
queue(createConnector);
}catch(Exception e){
e.printStackTrace();
}
}

/**
* broker 监控
* @author showlike
* @param createConnector
* @throws Exception
* @date Jan 6, 2014 4:54:06 PM
*/
public static void broker(RemoteJMXBrokerFacade createConnector) throws Exception{
BrokerViewMBean brokerAdmin = createConnector.getBrokerAdmin();
System.out.println("==========Connection =================");
System.out.println("BrokerName =" + brokerAdmin.getBrokerName());
System.out.println("TotalMessageCount =" + brokerAdmin.getTotalMessageCount());
System.out.println("TotalConsumerCount =" + brokerAdmin.getTotalConsumerCount());
System.out.println("TotalDequeueCount =" + brokerAdmin.getTotalDequeueCount());
System.out.println("TotalEnqueueCount =" + brokerAdmin.getTotalEnqueueCount());
}

/**
* topic 使用情况监控
* @author showlike
* @param createConnector
* @throws Exception
* @date Jan 6, 2014 4:54:06 PM
*/
public static void topic(RemoteJMXBrokerFacade createConnector) throws Exception{
System.out.println("=============Topic =================");
Collection<TopicViewMBean> topicViewList = createConnector.getTopics();
int i = 1;
for (TopicViewMBean topicViewMBean : topicViewList) {
System.out.println("beanName =" + topicViewMBean.getName());
System.out.println("ConsumerCount ="+ topicViewMBean.getConsumerCount());
System.out.println("DequeueCount ="+ topicViewMBean.getDequeueCount());
System.out.println("EnqueueCount ="+ topicViewMBean.getEnqueueCount());
System.out.println("DispatchCount ="+ topicViewMBean.getDispatchCount());
System.out.println("ExpiredCount ="+ topicViewMBean.getExpiredCount());
System.out.println("MaxEnqueueTime ="+ topicViewMBean.getMaxEnqueueTime());
System.out.println("ProducerCount ="+ topicViewMBean.getProducerCount());
System.out.println("MemoryPercentUsage ="+ topicViewMBean.getMemoryPercentUsage());
System.out.println("MemoryLimit =" + topicViewMBean.getMemoryLimit());
System.out.println("// Topic "+i+" //");
i++;
}
}

/**
* queue 使用情况监控
* @author showlike
* @param createConnector
* @throws Exception
* @date Jan 6, 2014 4:54:53 PM
*/
public static void queue(RemoteJMXBrokerFacade createConnector) throws Exception{
System.out.println("============Queue===================");
int i = 1;
Collection<QueueViewMBean> queueViewList = createConnector.getQueues();
for (QueueViewMBean queueViewMBean : queueViewList) {
System.out.println(" queue beanName =" + queueViewMBean.getName());
System.out.println("ConsumerCount ="+ queueViewMBean.getConsumerCount());
System.out.println("DequeueCount =" + queueViewMBean.getDequeueCount());
System.out.println("EnqueueCount =" + queueViewMBean.getEnqueueCount());
System.out.println("DispatchCount =" + queueViewMBean.getDispatchCount());
System.out.println("ExpiredCount =" + queueViewMBean.getExpiredCount());
System.out.println("MaxEnqueueTime ="+ queueViewMBean.getMaxEnqueueTime());
System.out.println("ProducerCount =" + queueViewMBean.getProducerCount());
System.out.println("MemoryPercentUsage ="+ queueViewMBean.getMemoryPercentUsage());
System.out.println("MemoryLimit =" + queueViewMBean.getMemoryLimit());
i++;
}
System.out.println("total queue : "+i);
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值