Websphere v8.0.0.6 WASX7017E, ADMA0209E Исключение приложения при развертывании EJB 2.0 EAR

У меня есть следующая проблема с WebSphere 8.0.0.6, и в Интернете не найдено решения. Я надеюсь, что кто-нибудь может помочь с этим, и это поможет кому-то еще с этой проблемой.

Описание ошибки:

Ошибка №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)

Объяснение:

Я создаю EAR с компонентом/проектом EJB 2.0. До сих пор я успешно развертывал этот EAR в WAS 6.1, но с WAS 8 он больше не развертывается.

У меня есть нужный bind-ejbjar.xmi, даже в новом формате - сконвертирован скриптом от IBM.

Вопросы:

WAS 8, кажется, все еще знает, что в EAR существует компонент EJB 3 - вопрос в том, ПОЧЕМУ?

Каковы минимальные требования к модулю EAR/EJB для развертывания в WAS 8 — должны быть большие изменения?

Нужно ли включать дополнительные файлы связывания?

Спасибо за помощь

ОБНОВЛЕНИЕ: очевидно, что есть предпосылки для объявления пакета как EJB2.x. См. IBM-справочный центр:

информация IBM WebSphere для разработчиков DE

Но я выполняю все это два обязательных условия.

Как мне упаковать банку для Websphere 8, чтобы сделать ее приемлемой в качестве EJB2.x?

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


person marmelin    schedule 06.05.2013    source источник
comment
Вы обновили файл ejb-jar.xml до версии = 3.0 или версии = 3.1? Если да, BMP/CMP не поддерживаются в этих версиях модулей. Если нет, что вы подразумеваете под bind-ejbjar.xmi, даже в новом формате? Новый файл ibm-ejb-jar-bnd/ext.xml (вместо .xmi) используется только для модулей версии 3.0+.   -  person Brett Kail    schedule 06.05.2013
comment
Извините, не думайте о новом формате... вы правы, он только для модулей ejb 3.x.   -  person marmelin    schedule 13.05.2013


Ответы (1)


Решение было достигнуто путем обновления ejb до версии 2.1, потому что там разрешен атрибут "версия", а это требуется WebSphere для распознавания версии, отличной от EJB 3.0.

Это означает, что версия EJB 2.0 не может работать, так как указанный выше тег не разрешен в файле ejb-jar

<?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">
    ...
0.dtd. Возможно, здесь поможет <cmp-version>2.x</cmp-version>, но я не проверял.

Преобразование заголовка ejbjar.xml принесло успех:

начиная с 2.0 (ejb-jar

<?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">
    ...
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

<?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">
    ...
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 не потребовалось!

Спасибо за помощь!

person marmelin    schedule 10.05.2013