0

我想知道如何将消息(javax.jms.Message)从MySatefulSessionBean发送到MySingletonBean,然后再发送到MyMessageDrivenBean。我正在使用 Netbeans,所以我可以右键单击Singleton Bean的Source code并选择Send JMS Message

但这会使在MySingletonBean中生成的 Message 被发送到MyMessageDrivenBean而我真正想要做的是将 Message 从MySatefulSessionBean转发到MyMessageDrivenBean

即不是在MySingleTonBean 中创建新Message 并将其发送到MyMessageDrivenBean 进行处理,而是希望MySatefulSessionBean实例化的Message 由MyMessageDrivenBean 的onMessage (Message msg) 方法处理。

由于个人原因,我无法让 MySatefulSessionBean 直接与 send Message to MyMessageDrivenBean 交谈;所以消息应该间接地转到 MyMessageDrivenBean

你能告诉我怎么做吗?

提前致谢

4

2 回答 2

1

除了消息驱动 Bean,您不应该在 EJB 中接收 JMS 消息。因此,您的 MySingletonBean 不应接收 JMS 消息。如果你设法以某种方式实现它,你会得到各种疯狂的错误(因为 EJB 对象生命周期规则)。

所以重新考虑你的架构。

于 2012-04-14T21:26:02.223 回答
1

实际上,不要在有状态会话 bean 中准备消息,而只准备实际的有效负载。

将此有效负载作为方法参数调用您的单例,然后将 JMS 消息创建保留为单例的内部详细信息。

于 2012-04-15T14:25:24.943 回答