将@Stateful注入MDB合法吗?
@Stateful
public class InteruptBean implements Interrupt {
....
}
@MessageDriven(...)
public class EchoTrigger implements MessageListener {
@EJB Interrupt interrupt;
....
}或者更好的说法:我可以使用有状态EJB在异步事件驱动架构中传递状态吗?
发布于 2011-06-30 12:41:52
是的,这是“合法的”,但这是无稽之谈。MDB实例像SLSB一样池化。在SFSB超时后,MDB将不起作用。
它可以在某个时刻显式创建SFSB,然后在发送的消息中传递对SFSB的引用,以驱动MDB。
发布于 2011-06-30 12:58:27
是的,这没有任何意义。因为有状态会话bean用于处理来自同一客户端的多个请求,因此它们具有面向客户端操作的处理。在这种情况下,MDB将是bean客户端。MDB支持单请求模式。请求到达MDB (以消息的形式)并被处理。因此,这两种类型的bean在处理模型中都不匹配。
https://stackoverflow.com/questions/6527552
复制相似问题