如何启动 messageDrivenBean

发布于 2024-12-12 08:39:33 字数 622 浏览 0 评论 0原文

我有一个 Web 应用程序,在服务器部分内我创建了一个 MessageDrivenBean 以便通过 JMS 接收消息。

@MessageDriven(activationConfig = {
@ActivationConfigProperty(propertyName = "destinationType", propertyValue =  javax.jms.Queue"),
@ActivationConfigProperty(propertyName = "destination", propertyValue = "queue/toServer"), })
public class JMSWatcher implements MessageListener {
...
...
public void onMessage(Message message) {
   ....
}

但即使我像配置的那样将消息发送到queue/toServer,onMessage方法也永远不会被调用。

我是否需要从客户端应用程序调用此 bean 一次,或者是否需要将该类放入任何配置 xml 文件中?

谢谢, Hauke

PS.:我在 JMSWatcher 类的默认构造函数中放置了一些日志消息,但它也不会显示。

I have an web-application and inside the server-part I created a MessageDrivenBean in order to receive messages via JMS.

@MessageDriven(activationConfig = {
@ActivationConfigProperty(propertyName = "destinationType", propertyValue =  javax.jms.Queue"),
@ActivationConfigProperty(propertyName = "destination", propertyValue = "queue/toServer"), })
public class JMSWatcher implements MessageListener {
...
...
public void onMessage(Message message) {
   ....
}

But the onMessage method will never be called even if I send a message to queue/toServer like configured.

Do I need to call this bean one time from the client-application or do I need to put the class in any configuration xml file?

Thanks,
Hauke

PS.: I put some log message inside the default constructor of the JMSWatcher class but it will ne be displayed as well.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

伪心 2024-12-19 08:39:33

我使用的是 JBoss 7.0.2,所以我使用 HornetQ 作为 JMS 服务器。我正确配置了 JMS 队列,因为我可以毫无问题地将消息发送到队列,并且如果我按照旧方式(没有 MDB)执行操作,则可以接收它们。

我正在使用 Eclipse 并使用 Maven 构建项目。我有一个与服务器和客户端模块一起部署的ear文件。

外部进程将向队列发送消息(有效)。

我认为如果我在构造函数中执行一些调试消息并部署我的ear文件,那么我应该在部署一次后看到此消息。

我不需要将 MDB 放入任何 xml 文件中,例如 web.xml 中我的 web 项目上的 ServletContextListener?

我正在使用 JSF 2,所以我不需要将该 bean 放入我的 faces-config.xml 中?我根本没有使用 faces-config.xml (目前)。

I am using JBoss 7.0.2 so I am using HornetQ as JMS Server. I configured the JMS Queue correctly because I can send messages to the queue without any problems and can receive them if I do it the old way (without MDB).

I am using Eclipse and build the project with maven. I have an ear file deployed with the server and client module.

An external process will send messages to the queue (that works).

I thought that if I do some debug messages inside the constrcutor and deploy my ear file, then I should see this message after deployment once.

I don't need to put the MDB inside any xml file like the ServletContextListener on my web-project in the web.xml?

I am using JSF 2, so I don't need to put that bean inside my faces-config.xml? I am not using faces-config.xml at all (in the moment).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文