将EJB应用程序从WebSphere Classic迁移到Liberty需要ejblite-3.1 [英] Migrating EJB application from WebSphere Classic to Liberty Requires ejblite-3.1

查看:182
本文介绍了将EJB应用程序从WebSphere Classic迁移到Liberty需要ejblite-3.1的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我继承了一个遗留EJB应用程序,它是使用会话bean和JPA构建的EJB 3.0。我正在从WebSphere 8.0迁移,其中应用程序正常运行。我已经在WebSphere 8.5.5 classic上进行了测试并且没有任何问题,但是,我们已经决定出于战略原因使用WebSphere Liberty。我在应用程序服务器上部署了两个ear文件,1是一个前端EAR应用程序,另一个是EJB(JPA)应用程序。两个应用程序都运行在同一个JVM中。我已经部署了两个并且Liberty将启动,但是,我经常(我知道我可以选择弹出窗口来保存我的选择)看到弹出窗口说我的应用程序XXXX需要功能:ejb-3.1 lite。但是,我想使用ejb3.2-lite。在Eclipse的项目方面(Eclipse Juno w / WDT)我不能选择EJB 3.2,因为选择不存在。我能走的最高点是3.1这是当前的级别这是我的server.xml文件的片段:

I have inherited a legacy EJB application that was built as an EJB 3.0 with session beans and JPA. I am migrating from WebSphere 8.0 where the application worked without issues. I have tested on WebSphere 8.5.5 classic and have no issues, however, we have decided for strategic reasons to use WebSphere Liberty. I am deploying two ear files on the application server, 1 which is a front end EAR app and one which houses the EJB (JPA) application. Both applications run ins the same JVM. I have deployed both and Liberty will start, however, I constantly (I know I can select the pop-up to save my choice) see the pop-up saying that my "Application XXXX requires feature(s): ejb-3.1 lite. However, I want to use ejb3.2-lite. In the project facets in Eclipse (Eclipse Juno w/ WDT) I cannot choose EJB 3.2 as the choice doesn't exist. The highest I can go is 3.1 which is the level currently. Here is the snippet of my server.xml file:

<server description="new server">

<!-- Enable features -->
<featureManager>
    <feature>javaee-7.0</feature>
    <feature>localConnector-1.0</feature>
    <feature>distributedMap-1.0</feature>
    <feature>adminCenter-1.0</feature> 
    <feature>ssl-1.0</feature>
    <feature>usr:webCacheMonitor-1.0</feature>
    <feature>webCache-1.0</feature>
    <feature>ldapRegistry-3.0</feature>
    <feature>ejbRemote-3.2</feature>
</featureManager>

<!-- To access this server from a remote client add a host attribute to the following element, e.g. host="*" -->
<httpEndpoint host="*" httpPort="9080" httpsPort="9443" id="defaultHttpEndpoint"/>

<!-- Automatically expand WAR files and EAR files -->
<applicationManager autoExpand="true"/>
<applicationMonitor updateTrigger="mbean"/>
<enterpriseApplication id="CHServiceEAR" location="CHServiceEAR.ear" name="CHServiceEAR"/>
<enterpriseApplication id="CHNewCHRDMEAR" location="CHNewCHRDMEAR.ear" name="CHNewCHRDMEAR">
    <application-bnd>
       <security-role name="AllAuthenticated">
           <special-subject type="ALL_AUTHENTICATED_USERS" />
       </security-role>
   </application-bnd>
</enterpriseApplication>

在Ear文件java项目中我选择了EJB 3.1,但仅仅因为我没有看到选择3.2作为EJB规范的方法。既然你可以看到上面我使用完整的java7EE配置文件我自动获得ejblite-3.2但似乎我的应用程序由于某种原因不会利用它。请指教!

In the Ear file java project I have selected EJB 3.1, but only because I don't see a way to select 3.2 as the EJB specification. Since you can see above I am using the full java7EE profile I am automatically getting ejblite-3.2 but it seems my app for some reason won't exploit it. Please advise!

推荐答案

Eclipse Juno中的WTP版本没有JavaEE7支持。尝试升级到Kepler及以上版本 - 请参阅新的和值得注意的部分以获取更多详细信息 https://www.eclipse.org/webtools/releases/3.5.0/NewAndNoteworthy/javaee.php

The WTP version in Eclipse Juno does not have JavaEE7 support. Try upgrading to Kepler and above - see the new and noteworthy section for further details https://www.eclipse.org/webtools/releases/3.5.0/NewAndNoteworthy/javaee.php

这篇关于将EJB应用程序从WebSphere Classic迁移到Liberty需要ejblite-3.1的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆