【问题标题】:Websphere v8.0.0.6 WASX7017E, ADMA0209E Application exception while Deployment of EJB 2.0 EARWebsphere v8.0.0.6 WASX7017E, ADMA0209E 部署 EJB 2.0 EAR 时应用程序异常
【发布时间】:2013-05-06 09:12:35
【问题描述】:

我在使用 WebSphere 8.0.0.6 时遇到以下问题,并且在 Web 上没有找到解决方案。我希望任何人都可以帮助解决这个问题,这将帮助其他人解决这个问题。

错误说明:

错误 #1(安装应用程序时):

WASX7017E: Exception received while running file /tmp/wsant3816346180883063201jacl;
exception information:com.ibm.websphere.management.application.client.AppDeploymentException:
com.ibm.websphere.management.application.client.AppDeploymentException

以下错误:

ADMA0209E: Enterprise JavaBeans (EJB) module ServerEJB.jar contains the following 
container-managed persistence (CMP) or bean-managed persistence (BMP) : 
... (list of all entities)

解释:

我生成一个带有 EJB 2.0 组件/项目的 EAR。到目前为止,我已经在 WAS 6.1 中成功部署了这个 EAR,但是在 WAS 8 中它不再部署了。

我有必要的 bind-ejbjar.xmi,即使是新格式 - 使用 IBM 的脚本转换。

问题:

WAS 8 似乎仍然知道 EAR 中存在 EJB 3 组件 - 问题是为什么?

在 WAS 8 中部署 EAR/EJB 模块的最低要求是什么 - 必须有大的变化?

还有更多的绑定文件要包含吗?

感谢您的帮助

更新: 所以很明显,将包声明为 EJB2.x 是有先决条件的。 请参阅 IBM 帮助中心:

IBM WebSphere info for developers DE

但我满足了所有这两个先决条件。

我必须如何为 Websphere 8 打包 jar 以使其可以作为 EJB2.x 接受?

http://pic.dhe.ibm.com/infocenter/wasinfo/v8r5/index.jsp?topic=%2Fcom.ibm.websphere.zseries.doc%2Fae%2Frejb_consid.html&lang%3Dde

【问题讨论】:

  • 您是否将 ejb-jar.xml 升级为 version="3.0" 或 version="3.1"?如果是,则这些模块版本不支持 BMP/CMP。如果不是,“bind-ejbjar.xmi,即使是新格式”是什么意思?新的 ibm-ejb-jar-bnd/ext.xml (vs .xmi) 仅用于 3.0+ 模块。
  • 对不起,别想“新格式”……你说得对,它只适用于 3.x ejb 模块。

标签: deployment ear ejb-2.x websphere-8


【解决方案1】:

解决方案是通过升级到 2.1 版 ejb 来实现的,因为那里允许“版本”属性,这是 WebSphere 识别非 EJB 3.0 版本所必需的。

这意味着EJB 2.0 版本不能工作,因为ejb-jar_2_0.dtd 中不允许使用上述标记。也许一个 <cmp-version>2.x</cmp-version> 在这里可以提供帮助,但我没有测试它。

ejbjar.xml的header转换成功:

从 2.0 (ejb-jar_2_0.dtd):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" 
    "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
    <!-- EJB-jar file declaration -->
<ejb-jar id="EJBJar" version="2.0">
    <display-name>Overall Bean Definition</display-name>
    <enterprise-beans>
    <entity id="Dcnotetext">
    ...

到 2.1(ejb-jar_2_1.xsd - 你需要命名空间!):

<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar id="EJBJar"
  xmlns="http://java.sun.com/xml/ns/j2ee" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   
  version="2.1"    
  xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd">
    <!-- EJB-jar file declaration -->
    <display-name>Overall Bean Definition</display-name>
    <enterprise-beans>
    <entity id="Dcnotetext">
     ...

无需进一步更改 XMI 或 XML 文件!

感谢您的帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-11
    • 1970-01-01
    • 1970-01-01
    • 2014-08-29
    • 2011-03-08
    • 1970-01-01
    • 2018-02-13
    • 1970-01-01
    相关资源
    最近更新 更多