ActiveMQ获取消息队列中的消息信息的方法
public void testMq(String subject) {RemoteJMXBrokerFacade broker = null;try {broker = getJMXBroker();QueueViewMBean qvm = broker.getQueue(subject);System.out.println(qvm.cursorSize()); System.out.println(qvm.getQueueSize()); //队列的个数System.out.println(qvm.isCursorFull()); System.out.println(qvm.getName()); //队列名称//CompositeData data = qvm.getMessage("ID:xen-web-60415-1339650484559-0:20091:1:1:1");CompositeData[] datas = qvm.browse();for (int i = 0; i < datas.length; i++) {CompositeData data = datas[i];String value = "";//mq中消息数据存储方式为key-value形式,//获取消息内容可根据key来取得,不同的消息类型有不同的key: Text Message key - Text; Map Message key - ContentMapif(data.containsKey("Text")) { value = (String) data.get("Text");} else if(data.containsKey("ContentMap")) {value = (String) data.get("ContentMap");}System.out.println(value);System.out.println(data.containsValue("{task_id=15, user_id=0, site_name=www.baidu.com, priority=9}"));}} catch (Exception e) {if (log.isErrorEnabled()) {log.error("", e);}} finally {if (null != broker) {broker.shutdown();}}}