0

I have the following problem with WebSphere 8.0.0.6 and no solution is found on the web. I hope anyone can help with this and this will help someone else with this problem.

Error Description:

Error #1 (while installing application):

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

Following Error:

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

Explanation:

I generate an EAR with an EJB 2.0 component/project. Up to now I have deployed this EAR within WAS 6.1 successfully, but with WAS 8 it doesn't deploy anymore.

I have the necessary bind-ejbjar.xmi, even in the new format - converted with the script from IBM.

Questions:

WAS 8 still seems to know that there exists a EJB 3 component in the EAR - the question is WHY?

What is the minimum requirement for a EAR/EJB-Module to deploy in WAS 8 - there must be big changes?

Are there more bind-files to be included?

Thanks for help

UPDATE: So obviously there are prerequisites to declare a package as EJB2.x. See IBM-HelpCenter:

IBM WebSphere info for developers DE

But I fullfill all of this two prerequisites.

How do I have to package the jar for Websphere 8 to make it acceptable as an EJB2.x?

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

4

1 回答 1

0

该解决方案是通过升级到 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 文件!

感谢帮助!

于 2013-05-10T12:06:31.017 回答