当前位置: 首页 > 知识库问答 >
问题:

使用替代部署描述符 “” 激活 Websphere MDB

周辰沛
2023-03-14

我正在尝试使用位于WebSphere 8.5(JavaEE规范)中的EAR中的替代部署描述符来部署MDB。示例:

<module>
  <ejb>arq_frameworkEJB.jar</ejb>
  <alt-dd>dds/ejb-jar.xml</alt-dd>
</module>

问题是 WAS EJB 容器抱怨找不到所需的绑定文件 ibm-ejb-jar-bnd.xml(激活 MDB 需要此绑定)。该错误说:

com.ibm.ejs.container。EJB配置异常:MDB:arqMDB的REQUIRED_BINDING_NOT_FOUND

我已经尝试在EARs META-INF文件夹中为这个文件(在arq_frameworkEJB.jar中)设置多个位置,但它不起作用。我在网上搜索过,但没有找到任何文档,也没有提到这个文件应该放在哪里。

共有2个答案

孙元明
2023-03-14

ejb绑定文件应该放在ejb项目的ejb-block/META-INF中。对于Web项目,它应该在WEB-INF/中。它的位置与ejb-jar.xml.相同

谭仰岳
2023-03-14

解决方案

  1. 在WAS中激活“跟踪”模式
  2. 打开“trace.log”并检查WAS在哪里查找替代绑定文件

跟踪.log:

[14年3月20日9:19:08:557 CET]00000046 bintext 3 com.ibm.etools.commonarchive.impl。EARFileImpl initializeModuleExtensions备用绑定URI:[ALT-INF/arq_frameworkEJB.jar/ibm-ejb-jar-bnd.xml]

请尝试以下配置:

ALT-INF/ejb-jar.xml
ALT-INF/arq_frameworkEJB.jar/ibm-ejb-jar-bnd.xml

那很有效!

 类似资料:
  • 这个版本规范的部署描述文件可在此下载:http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd

  • 本章指定的 Java™ Servlet 规范要求 Web 容器支持部署描述文件。部署描述文件表达了应用开发人员、应用集成人员和 Web 应用部署人员之间的元素和配置信息。 对于 Java Servlet 2.4 和以后的版本,部署描述文件在 XML 模式文档中定义。 为了向后兼容到2.2版本的API编写的应用程序,Web 容器也需要支持2.2版本的部署描述文件。为了向后兼容2.3版本的API编写的

  • Web 应用程序部署描述文件(见第14章,“部署描述文件”)的配置和部署信息包括以下几种类型: ServletContext 的初始化参数 Session 配置 Servlet/JSP 的定义 Servlet/JSP 的映射 MIME 类型映射 欢迎文件列表 错误页面 安全 扩展的依赖关系 当许多应用程序使用相同的代码或资源,通常将它们安装在容器的库文件中。这些文件往往是通用的或标准的 API,可

  • 本节举例说明部署描述文件中的元素。属性没有在图中显示。详细信息请参阅部署描述文件模式。 1.web-app元素 web-app 元素是一个 Web 应用程序的根部署描述符。此元素包含下列元素。这个元素有一个必需的属性 version 来指定部署描述符符合哪个版本的模式。此元素的所有子元素可以是任意的顺序。 FIGURE 14-1 web-app Element Structure 2.descri

  • 所有servlet容器的Web应用程序部署描述文件需要支持以下类型的配置和部署信息: ServletContext初始化参数 Session配置 Servlet声明 Servlet映射 应用程序生命周期监听器类 过滤器定义和过滤器映射 MIME类型映射 欢迎文件列表 错误页面 语言环境和编码映射 安全配置,包括login-config,security-constraint,security-co

  • 以下示例是注册两个 Servlet 上下文生命周期监听器和一个HttpSession 监听器的部署语法。 假设 com.acme.MyConnectionManager 和 com.acme.MyLoggingModule两个都实现了 javax.servlet.ServletContextListener,且com.acme.MyLoggingModule 又实现了javax.servlet.h