有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java应该在中部署消息驱动bean。耳文件?

我有一个应用程序是作为一个组件构建的。war文件,我们有一个读取JMS队列的新需求,我尝试添加EJBJAR。xml文件并指向消息侦听器,但部署的应用程序未收到任何消息,部署日志也未显示任何有关消息驱动bean的信息。我想知道这是不是真的。耳朵结构与整个事情无关

环境:CDI、MyBatis、Wildfly 9.2、Java 1.8

多谢各位


共 (1) 个答案

  1. # 1 楼答案

    您似乎试图使用JavaEE7Web概要文件,它定义了哪些EE7规范组件必须由支持WAR部署的容器实现

    该概要说明必须实现“EnterpriseJavaBeans(EJB)3.2Lite”规范的要求

    EJB Lite规范要求支持:

    • 仅限无状态、有状态和单例会话bean组件
      • 本地业务接口,仅无接口视图
    • 容器管理的事务和bean管理的事务
    • 声明性和程序性安全性
    • 拦截器
    • 本地异步会话bean调用
    • 非持久性EJB计时器服务
    • 部署描述符支持(ejbjar.xml)

    目前在WAR部署中没有消息驱动Bean支持

    因此,您有两种选择:

    1. 使用EJB模块和WAR模块将应用程序迁移到全EAR部署
    2. 如果您的消息驱动bean与web模块完全解耦,那么您可以在独立的EJB模块中部署它们。如果您需要共享JPA实体或其他库,那么EAR是一种更简单的方法