如何将ejb2无状态会话bean迁移到ejb3零碎?

时间:2009-06-11 01:30:53

标签: java java-ee migration ejb-3.0 ejb-2.x

EJB3规范表明EJB2和EJB3可以在一个应用程序中共存。

我希望将EJB2无状态会话bean迁移到EJB3无状态会话bean 这个问题根本不涉及JPA(这是将来要进行的单独工作)

我在websphere 6.1上运行,安装了EJB3功能包并进行了修补,并且增强了配置文件(ejb3示例应用确认它可以正常工作)

我需要对我的代码,web.xml,application.xml,ejb-jar.xml和其他特定于websphere的绑定进行哪些更改才能将SINGLE ejb从2转换为3?

2 个答案:

答案 0 :(得分:1)

随着时间的推移,我会回答自己的问题 这是我通过它的方式

以下xml文件曾经有过doctypes,但现在必须有名称空间:

<强> myApp.ear / META-INF / application.xml中

<application version="5" xmlns="http://java.sun.com/xml/ns/javaee"
                         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                         xsi:schemaLocation="http://java.sun.com/xml/ns/javaee  http://java.sun.com/xml/ns/javaee/application_5.xsd">

<强> myApp.ear / web.war中/ WEB-INF / web.xml中

 <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
                        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

<强> myApp.ear / ejb.jar / META-INF / ejb-jar.xml中

<ejb-jar id="ejb-jar_ID" version="3.0" 
            xmlns="http://java.sun.com/xml/ns/javaee" 
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
            xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd">

对web.xml进行了以下更改

  • taglib元素现在位于jsp-config元素

  • 已从过滤器元素中删除了display-name元素 和servlet元素

删除myApp.ear / ejb.jar / META-INF / ibm-ejb-jar-bnd.xmi

JNDI查找     更改所有本地ejb jndi查找以使用ejblocal:[classname]

我还从ejb-jar.xml映射中删除了我的jdbc资源引用,而是使用全局查找

我遇到的安全问题是因为我删除了ibm-application-bnd.xmi,它将用户和组绑定到角色/

答案 1 :(得分:0)

您需要将Java EE xml命名空间放在您提到的三个xml文件中。然后我想你删除你的WAS绑定文件并使用不同的jndi查找