Jms消息侦听器实现可运行

Jms消息侦听器实现可运行,jms,Jms,对于异步JMS使用者,设计使用者的标准方法是: 1.创建MessageConsumer 2.创建MessageListener并实现onMessage() 3.向消费者注册侦听器 现在,在网络上的一些示例中,MessageListener类被实现为可运行的。这是一种好的做法吗?我想到了两种情况: 1.独立消息消费者 2.MessageConsumer在J2EE服务器中运行 非常感谢您提供的任何帮助。如果您在Java EE环境中,使用Runnable并不是坏事,但管理自己的线程通常是坏事。在这里,

对于异步JMS使用者,设计使用者的标准方法是: 1.创建MessageConsumer
2.创建MessageListener并实现onMessage()
3.向消费者注册侦听器

现在,在网络上的一些示例中,MessageListener类被实现为可运行的。这是一种好的做法吗?我想到了两种情况:
1.独立消息消费者
2.MessageConsumer在J2EE服务器中运行


非常感谢您提供的任何帮助。

如果您在Java EE环境中,使用Runnable并不是坏事,但管理自己的线程通常是坏事。在这里,您最好使用MDB并允许容器处理并发消息


在JavaEE之外,让监听器实现Runnable并不是一个糟糕的想法——这通常不是很必要,因为在大多数情况下,注册将处理线程。我想说,除非你看到实际问题,否则不要担心。

谢谢。你能详细说明一下注册将如何处理线程吗?当然。当您使用通知(如MessageListener)时,会发生的情况是,容器将负责该通知——如果它不使用,它将在自己的线程中调用onMessage(),而不是您。