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 - ContentMap if(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(); } } }
ActiveMQ获取消息队列中的消息信息的方法
猜你喜欢
转载自koney0.iteye.com/blog/1565436
今日推荐
周排行