如何在从WebSphere Application Server传统应用程序迁移到Liberty时正确地重构ibm-ejb-jar-bnd.xmi文件?

问题描述 投票:0回答:1

从WebSphere Application Server传统v9.0.0.7到Liberty base v18.0.0.1进行应用程序迁移时,我遇到了错误

控制台中的例外情况说:

...
    CWWKZ0002E: An exception occurred while starting the application AP. The exception message was: com.ibm.ws.container.service.metadata.MetaDataException: com.ibm.wsspi.adaptable.module.UnableToAdaptException: com.ibm.ejs.container.EJBConfigurationException: com.ibm.wsspi.adaptable.module.UnableToAdaptException: com.ibm.ws.javaee.ddmodel.DDParser$ParseException: 
    CWWKC2251E: The ejbBindings element is missing the required name attribute in the /META-INF/ibm-ejb-jar-bnd.xmi deployment descriptor on line 9.
...

似乎EJB绑定存在问题。我一直在阅读Liberty不支持WAS 9 EJB绑定,只将EJB绑定到java:namespace语法。

ibm-ejb-jar-bnd.xmi文件看起来像:

<?xml version="1.0" encoding="UTF-8"?>
<ejbbnd:EJBJarBinding xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ejb="ejb.xmi" xmlns:ejbbnd="ejbbnd.xmi" xmi:id="EJBJarBinding_1090575365340">
  <ejbJar href="META-INF/ejb-jar.xml#ejb-jar_ID"/>
  <ejbBindings xmi:id="EnterpriseBeanBinding_1090575365340" jndiName="ejb/com/ap/ejb/AccountSessionHome">
    <enterpriseBean xmi:type="ejb:Session" href="META-INF/ejb-jar.xml#AccountSession"/>
  </ejbBindings>
  <ejbBindings xmi:id="EnterpriseBeanBinding_1047783791228" jndiName="ejb/com/ap/ejb/UtilitySessionHome">
    <enterpriseBean xmi:type="ejb:Session" href="META-INF/ejb-jar.xml#UtilitySession"/>
  </ejbBindings>
</ejbbnd:EJBJarBinding>

我究竟应该如何重构ibm-ejb-jar-bnd.xmi文件?请帮我解决这个问题。

java-ee ejb websphere websphere-liberty open-liberty
1个回答
2
投票

该消息有点令人困惑,因为同一个解析器用于绑定文件的两个版本;旧的,ibm-ejb-jar-bnd.xmi和新的,ibm-ejb-jar-bnd.xml。新格式(XML)中定义的name属性是旧格式(XMI)中的计算值,并通过处理此行来确定:

<enterpriseBean xmi:type="ejb:Session" href="META-INF/ejb-jar.xml#UtilitySession"/>

具体来说,解析器将遵循href并查找相应EJB的ejb-name元素。您应该在ejb-jar.xml中查找相应的条目,如下所示:

<session id="UtilitySession">

要么缺少,要么可能有多次出现。或者,它缺少一个ejb-name元素。

注意:3.0级或更高级别的XML文件支持更新的ejb-jar.xml格式,XMI的所有先前级别都支持ejb-jar.xml格式

© www.soinside.com 2019 - 2024. All rights reserved.