Websphere v8.0.0.6 WASX7017E,ADMA0209E部署EJB 2.0 EAR时的应用程序异常

时间:2013-05-06 09:12:35

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

我在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-HelpCenter:

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

1 个答案:

答案 0 :(得分:0)

该解决方案是通过升级到版本2.1 ejb实现的,因为允许使用“version”属性,这是WebSphere要求识别非EJB 3.0版本的。

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

ejbjar.xml标题的转换带来了成功:

来自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文件进行进一步更改!

感谢您的帮助!