二、代码监控
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);
}
}
分享到:
相关推荐
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...
ActiveMQ 常用开源框架 Spring Spring MVC Spring WebFlow spring tx aop ioc Struts ibatis Mybatis CAS Dubbo 工作能力 软实力 应急能力 创新能力 管理能力 分享能力 学习能力 沟通能力 ...
Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...
Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine ...activemq...
Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine ...activemq...
FourInOne整体代码仅仅为70k,跟Hadoop, Zookeeper, Memcache, ActiveMq等开源产品代码上没有任何相似性,不需要任何依赖,引用一个jar包就可以嵌入式使用,良好支持window环境,可以在一台机器上模拟分布式环境,更...
Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine ...activemq...
Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine ...activemq...
Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine ...activemq...
Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine ...activemq...
Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine ...activemq...
Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine ...activemq...
Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine ...activemq...
Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine ...activemq...
Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine ...activemq...
Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine ...activemq...
Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine ...activemq...
ActiveMQ | 消息队列 | [http://activemq.apache.org/](http://activemq.apache.org/) JStorm | 实时流式计算框架 | [http://jstorm.io/](http://jstorm.io/) FastDFS | 分布式文件系统 | ...
Fourinone整体代码短小精悍,跟Hadoop, Zookeeper, Memcache, ActiveMq等开源产品代码上没有任何相似性,不需要任何依赖,引用一个jar包就可以嵌入式使用,良好支持window环境,可以在一台机器上模拟分布式环境,...