我在学习activeMQ的时候发现一个很奇怪的问题,发送queue消息时能正常发送和接收,但是如果我换成topic的话,一直收不到消息,也不报错,开始不知道为什么,后来用BrokerService.getAdminView().getTotalMessageCount(),监测发现queue的时候有消息数目,但topic没有,不知道为什么,贴上代码先吧,求大神解释!!!!!
public static void send() { Connection conn = null; try { conn = factory.createConnection(); Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE); Destination des = null; // Destination //des = session.createQueue("myQueue"); des = session.createTopic("topictest.messages"); conn.start(); MessageProducer producer = session.createProducer(des); producer.setDeliveryMode(DeliveryMode.PERSISTENT); TextMessage msg = session.createTextMessage(); msg.setText("测试"); producer.send(msg); } catch (JMSException e) { e.printStackTrace(); } finally { System.out.println("-----消息发送完毕!"); if (conn != null) { try { conn.stop(); conn.close(); } catch (JMSException e) { e.printStackTrace(); } } } }
改成监听试试,topic本来就是发布/订阅模型请问你的意思是使用TopicSession,然后用session.createPublisher()吗?<divclass="ref">
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。