struts中的JMS队列连接工厂

发布于 2024-10-12 21:53:08 字数 535 浏览 2 评论 0原文

我正在尝试将 JMS 消息发送器集成到基于 struts 的 Web 应用程序中。我在一个方法中定义了消息发送者,并在actionForm的execute方法中调用了该方法。我得到的错误是

javax.naming.NameNotFoundException: Name queueConnectionFactory is not bound in this Context

我猜错误发生在

 try {
    connectionFactory = (ConnectionFactory)jndiContext.lookup("queueConnectionFactory");
    destination = (Destination)jndiContext.lookup(destinationName);
} catch (NamingException e) {
    e.printStackTrace();
    System.exit(1);
}

我使用 ActiveMQ 作为消息代理的地方。

I'm trying to integrate JMS message sender in a struts based web application. I have defined the message sender in a method and called the method in actionForm's execute method. The error i get is

javax.naming.NameNotFoundException: Name queueConnectionFactory is not bound in this Context

I guess the error is at this place

 try {
    connectionFactory = (ConnectionFactory)jndiContext.lookup("queueConnectionFactory");
    destination = (Destination)jndiContext.lookup(destinationName);
} catch (NamingException e) {
    e.printStackTrace();
    System.exit(1);
}

I'am using ActiveMQ as the Message broker.

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

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

发布评论

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

评论(1

帥小哥 2024-10-19 21:53:08

在 Web 层中,您必须使用 conn 的完整 JNDI 名称。工厂,即java:comp/env/queueConnectionFactory

在Tomcat中,还需要在web.xml中声明:

<resource-ref id="ResourceRef_0">
   <description>Logical mapping of QueueConnectionFactory</description>
   <res-ref-name>queueConnectionFactory</res-ref-name>
   <res-type>javax.jms.QueueConnectionFactory</res-type>
   <res-auth>Container</res-auth>
   <res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>

In the web layer you have to use full JNDI name of the conn. factory, i.e. java:comp/env/queueConnectionFactory.

In Tomcat, you also need to declare it in the web.xml:

<resource-ref id="ResourceRef_0">
   <description>Logical mapping of QueueConnectionFactory</description>
   <res-ref-name>queueConnectionFactory</res-ref-name>
   <res-type>javax.jms.QueueConnectionFactory</res-type>
   <res-auth>Container</res-auth>
   <res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文