java - 将 @Stateful 注入(inject) MDB 是否合法?

标签 java jakarta-ee ejb-3.0 message-driven-bean

将@Stateful 注入(inject) MDB 是否合法?

@Stateful
public class InteruptBean implements Interrupt {
    ....
}

@MessageDriven(...)
public class EchoTrigger implements MessageListener {
    @EJB Interrupt interrupt;

    ....
}

或者更准确地说:我可以使用有状态 EJB 在异步事件驱动架构中传递状态吗?

最佳答案

是的,这没有意义。因为有状态 session bean 用于处理来自同一客户端的多个请求,因此它们具有面向客户端操作的处理。在这种情况下,MDB 将成为 beans 客户端。 MDB 支持单请求模型。请求到达 MDB(以消息的形式)并被处理。所以这两种类型的 bean 在处理模型上不匹配。

关于java - 将 @Stateful 注入(inject) MDB 是否合法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6527552/

相关文章:

java - 即使 'else' 为 true,为什么只有 'if' 部分被执行?

java - 当 java 中已存在电子邮件时,如何在 INBOX 文件夹的复制操作中跳过电子邮件?

java - 使用多个 modelAttributes 从 JSP 接收 2 个对象

java - 如何从 jQuery 或 JavaScript 访问 JSF 的 SelectItem

java - 在上下文问题中添加系统参数和应用程序

jakarta-ee - 您如何运行 Java EE 集成测试?再加上术语困惑(嵌入式、托管、本地、远程……)

java - 使用 Hibernate 时如何避免警告 "firstResult/maxResults specified with collection fetch; applying in memory!"?

java - JPA 实体、Oracle 10g 和日历类型属性有问题吗?

java - 创建另一个train.txt来训练其他领域的情感模型

java - 简单但很好的 EJB 模式