【发布时间】:2017-10-25 18:40:01
【问题描述】:
我是 JavaEE 的新手,我尝试使用 jms 和 mdb 构建消息传递系统。我想做以下事情: - 由 mdb 实现的用于处理消息的服务器 - 应该沟通的不同客户 - 客户端应该只通过服务器而不是直接通信
所以没什么特别的。我在 oracle 的文档和教程中阅读了很多,但我仍然对某些事情感到困惑(尽管它正在工作)。
1.消息驱动的bean: 在@MessageDriven 注解中可以使用@ActivationConfigProperty 注解配置bean,例如:
@MessageDriven(mappedName = "myBean", activationConfig = {
@ActivationConfigProperty(propertyName = "messageSelector",
propertyValue = "requestType = 'reqA' OR requestType = 'reqB'"),
@ActivationConfigProperty(propertyName = "destinationType",
propertyValue = "javax.jms.Queue")})
但是我如何“创建”这个 bean 的队列呢?我想我在这里想念一些东西..
2.对于我使用托管 bean 的客户端。客户端能够发送和接收,因此他们需要一个队列或一个主题。我在客户端中创建队列
@Resource(name = "clientQueue")
private Queue clientQueue;
并使用
从 mdb 中获取队列@Resource(mappedName = "serverBean")
private Queue serverQueue;
在 mdb 中,我从客户端获取队列
@Resource(name = "clientQueue")
private Queue clientQueue;
这是正确的还是有更好的解决方案?
我知道这是非常基本的,但我很困惑,因为例如apache tomcat 的教程表单与 oracle 的教程有一些差异,我不明白。
我有点困惑,所以任何澄清都会非常好!
【问题讨论】:
标签: jakarta-ee ejb jms message-driven-bean