`

activeMQ JMS 代码监控

阅读更多
二、代码监控

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上百实例源码以及开源项目源代码

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

    【白雪红叶】JAVA学习技术栈梳理思维导图.xmind

    ActiveMQ 常用开源框架 Spring Spring MVC Spring WebFlow spring tx aop ioc Struts ibatis Mybatis CAS Dubbo 工作能力 软实力 应急能力 创新能力 管理能力 分享能力 学习能力 沟通能力 ...

    JAVA上百实例源码以及开源项目

     Java二进制IO类与文件复制操作实例,好像是一本书的例子,源代码有的是独立运行的,与同目录下的其它代码文件互不联系,这些代码面向初级、中级Java程序员。 Java访问权限控制源代码 1个目标文件 摘要:Java源码,...

    java开源包8

    Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine ...activemq...

    java开源包10

    Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine ...activemq...

    Fourinone分布式计算框架

    FourInOne整体代码仅仅为70k,跟Hadoop, Zookeeper, Memcache, ActiveMq等开源产品代码上没有任何相似性,不需要任何依赖,引用一个jar包就可以嵌入式使用,良好支持window环境,可以在一台机器上模拟分布式环境,更...

    java开源包1

    Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine ...activemq...

    java开源包11

    Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine ...activemq...

    java开源包2

    Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine ...activemq...

    java开源包3

    Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine ...activemq...

    java开源包6

    Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine ...activemq...

    java开源包5

    Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine ...activemq...

    java开源包4

    Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine ...activemq...

    java开源包7

    Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine ...activemq...

    java开源包9

    Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine ...activemq...

    java开源包101

    Spring4GWT GWT Spring 使得在 Spring 框架下构造 GWT 应用变得很简单,提供一个易于理解的依赖注入和RPC机制。 Java扫雷游戏 JVMine JVMine用Applets开发的扫雷游戏,可在线玩。 public class JVMine ...activemq...

    Java资源包01

    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分布式并行计算四合一框架

     Fourinone整体代码短小精悍,跟Hadoop, Zookeeper, Memcache, ActiveMq等开源产品代码上没有任何相似性,不需要任何依赖,引用一个jar包就可以嵌入式使用,良好支持window环境,可以在一台机器上模拟分布式环境,...

Global site tag (gtag.js) - Google Analytics