我正在尝试将j2ee应用程序从WebSphere迁移到liberty。
构建脚本在ant构建脚本中使用特定于WebSphere的ant任务(com.ibm.websphere.ant.tasks.WsEjbDeploy
liberty有没有类似的任务?或
使用上述任务构建的代码可以部署并在liberty上工作吗?
发布于 2020-03-09 12:17:05
EJBDeploy和相关的ant任务已经被即时(JIT)部署特性所取代。此功能最早是在WebSphere传统版7.0中为所有EJB3(及更高版本)模块引入的。
Liberty为所有EJB模块级别(从EJB1.x到EJB3.2)提供JIT部署。EJB传统型现在还支持所有WebSphere模块版本的即时部署,从8.5.5.16和9.0.5.0版本开始,除了包含EJB1.x或2.x实体bean的模块。实体bean仍然需要使用EJBDeploy。如果您的应用程序包含实体bean,则在迁移到Liberty时,需要将它们转换为另一种形式的持久性,例如JPA。
将应用程序迁移到在传统WebSphere上使用EJBDeploy的Liberty时,应使用该应用程序的未部署版本。不要将EJBDeploy生成的工件迁移到Liberty。Liberty的JIT部署功能将根据需要在内存中动态生成工件。EJBDeploy生成的工件可能会影响Liberty中的正常行为。
有关JIT部署的详细信息,请参阅知识中心中的以下信息:
如果应用程序包含远程EJB接口,并且将使用瘦客户端,则需要生成Stub类以与瘦客户端一起打包。这在以前是由EJBDeploy完成的,但现在可以通过使用RMIC来完成。
可从此处提供的链接中找到有关将远程接口部署到Liberty的更多信息:
https://stackoverflow.com/questions/60580632
复制相似问题