为什么onMessage()收不到消息?

wanderer1224 2010-10-04 03:23:23
大家好,我这些天一直在学习JMS,我看到JMS的消息接收方式有两种,一种是consumer.receive(),另一种是实现一个MessageListener接口。我在这儿用的queue的消息模式,一开始我尝试的是consumer.receive()方式接收消息,没有问题,只是如果没有消息过来的话它会一直等待下去,于是我决定尝试第二种方式,据说它会在消息一到达的时候调用onMessage()方法而无需等待。
问题就出在这儿,我的做法是用一个类ConsumerUtil实现了MessageListener接口,然后在onMessage(Message message)方法中实现业务细节。但是我运行程序时根本收不到发出去的消息(连接什么的都是正确的,因为消息已经被发送出去),请大家帮我这个菜鸟分析一下,我的代码大致如下,谢谢!

......

/* create connection */
ActiveMQConnectionFactory factory = new ActiveMQConnectionFactory(connectionURL);
conn = factory.createConnection();
conn.start();

/* create session and destination */
Session session = conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
Destination destination = session.createQueue(queueName);

MessageProducer producer = session.createProducer(destination);
Message message = session.createTextMessage("Hello, world!");
producer.send(message);

ConsumerUtil consumer = new ConsumerUtil();
session.setMessageListener(consumer);

......
...全文
1195 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
qybao 2011-08-23
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xiaoayaya 的回复:]
MessageConsumer consumer
consumer = session.createConsumer(Queue)
consumer.setMessageListener(new MessageListener() {
public void onMessage(Message message) {
TextMessage tm = (TextMessage) me……
[/Quote]

+1

LZ的
ConsumerUtil consumer = new ConsumerUtil();
session.setMessageListener(consumer);
这部分的实现,仿照1L的改一改。

xiaoayaya 2011-08-23
  • 打赏
  • 举报
回复
MessageConsumer consumer
consumer = session.createConsumer(Queue)
consumer.setMessageListener(new MessageListener() {
public void onMessage(Message message) {
TextMessage tm = (TextMessage) message;
try {
system.out.println("Received message: " + tm.getText());
delegateHandle.AddLog(Thread.currentThread().getName()+" "+tm.getText());
}
catch (JMSException e) {
e.printStackTrace();

}
});

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧