我想知道如何将消息(javax.jms.Message)从 MySatefulSessionBean 发送到 MySingletonBean ,然后再发送到 MyMessageDrivenBean 即可。我正在使用Netbeans,因此我可以右键单击>> 的源代码,然后选择发送JMS消息。
但这会使 MySingletonBean 中生成的消息发送到 MyMessageDrivenBean ,而我实际想要做的是从转发消息MySatefulSessionBean 到 MyMessageDrivenBean 。
即不是在MySingleTonBean中创建新消息并将其发送到MyMessageDrivenBean进行处理,我希望实例化的消息 MySatefulSessionBean 由MyMessageDrivenBean的 onMessage 处理(消息消息) ) 方法。
由于个人原因,我无法使MySatefulSessionBean直接与发送消息对话MyMessageDrivenBean;所以Message应该间接地转到MyMessageDrivenBean
你能告诉我如何做到这一点吗?
提前致谢
答案 0 :(得分:1)
除了Message Driven Beans之外,您不应该在EJB中接收JMS消息。所以你的MySingletonBean不应该收到JMS消息。如果你设法以某种方式实现它,你会得到各种疯狂的错误(因为EJB对象生命周期规则)。
重新考虑你的架构。
答案 1 :(得分:1)
实际上不要在有状态会话bean中准备消息,而只准备实际的有效负载。
使用此有效内容作为方法参数调用您的单例,然后将JMS消息创建保留为单例的内部详细信息。