Java 如何将ejb2无状态会话bean逐段迁移到ejb3?
EJB3规范指出EJB2和EJB3可以在单个应用程序中共存 我希望将我的EJB2无状态会话bean迁移到EJB3无状态会话bean。Java 如何将ejb2无状态会话bean逐段迁移到ejb3?,java,jakarta-ee,migration,ejb-3.0,ejb-2.x,Java,Jakarta Ee,Migration,Ejb 3.0,Ejb 2.x,EJB3规范指出EJB2和EJB3可以在单个应用程序中共存 我希望将我的EJB2无状态会话bean迁移到EJB3无状态会话bean。 这个问题与JPA完全无关(这是一项单独的工作,将在将来进行) 我在WebSphere6.1上运行,安装并修补了EJB3功能包,并对配置文件进行了扩充(一个EJB3示例应用程序确认它可以工作) 要将单个ejb从2转换为3,我需要对代码、web.xml、application.xml、ejb-jar.xml和其他特定于websphere的绑定进行哪些更改?首先需要将J
这个问题与JPA完全无关(这是一项单独的工作,将在将来进行) 我在WebSphere6.1上运行,安装并修补了EJB3功能包,并对配置文件进行了扩充(一个EJB3示例应用程序确认它可以工作)
要将单个ejb从2转换为3,我需要对代码、web.xml、application.xml、ejb-jar.xml和其他特定于websphere的绑定进行哪些更改?首先需要将Java EE xml名称空间放在前面提到的三个xml文件中。然后,我认为您删除了WAS绑定文件,并使用了不同的jndi查找我将在继续时尝试回答我自己的问题。
我就是这样度过的 以下xml文件过去具有doctype,但现在必须具有名称空间: 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">
<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">
<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">
myApp.ear/web.war/web-INF/web.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">
<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">
<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">
myApp.ear/ejb.jar/META-INF/ejb-jar.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">
<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">
<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进行了以下更改
<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">
<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">
<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">
- taglib元素现在位于jsp配置元素下
- 显示名称元素已从筛选器元素中删除 和servlet元素
我遇到的安全问题是因为我删除了ibm-application-bnd.xmi,它将用户和组绑定到角色/,这似乎给了我一些帮助,但是现在我的ejb客户端由于没有足够的角色而被拒绝。从错误消息中,我可以看到它选择了正确的用户名,但没有映射到角色。它在我的开发环境中使用了websphere附带的FileRegistrySample,同样的配置在旧的ejb2设置中运行良好。他们对身份验证做了什么不同的事情吗?