当前位置: 首页 > 知识库问答 >
问题:

Webphere传统vs自由中的EJB支持

段干宜
2023-03-14

我正在从事一个项目,我们计划使用WLP(WebSphere自由)而不是传统的WAS。

代码为不同的组件提供了ejb模块(ejb 2和3)。一个组件的EJB客户端被其他一些组件用来与EJB服务器模块通信。

我知道自由有一些ejb功能。但是,自由对 EJB 的支持/功能是否与 WAS 9 中提供的支持/功能级别相同?

自由使用EJB有哪些限制/问题?

共有1个答案

百里京
2023-03-14

WebSphere v9和WebSphere Liberty都支持完整的EJB 3.2规范(包括对EJB 1的底层支持

>

  • 实体beans:Liberty不支持可选的2.x/1.x CMP/BMP实体beans API组。

    JAX-RPC Web服务endpoint:Liberty不支持可选的JAX-RPC WebServiceendpointAPI组。(支持JAX-WSendpoint)更新:2022年1月新增了一个Maven/Gradle转换工具,可用于将JAX-RPC应用程序迁移到JAX-WS。有关详细信息,请参阅以下博客文章和文档。

    可嵌入 EJB 容器:自由不提供可选的可嵌入 EJB 容器 API 组的实现。

    事务传播:Liberty 不支持远程 EJB 方法的出站或入站事务传播。事务在服务器进程内传播,但不从客户端传播,也不与另一个服务器进程传播。

    EJB瘦客户端支持:Liberty不提供EJB瘦客户端,但支持使用WebSphere v9 EJB瘦客户端。Liberty提供完整JavaEE应用程序客户端。此外,Liberty不提供手动生成EJB存根类以用于瘦客户端的工具,尽管支持使用RMIC(EJB 2. x/1. x)或来自WebSphere v9的createEJBStubs命令(EJB 3. x)生成存根。

    < s >自定义JNDI名称 : Liberty不支持使用自定义名称(来自< code>ibm-ejb-jar-bnd.xml)将ejb绑定到JNDI。EJB在< code>java:global 、< code>java:app和< code>java:module中规范定义的位置可用。注意:这种支持正在开发中,你可以按照这里的详细进度:https://github.com/OpenLiberty/open-liberty/issues/7918更新:现在可以从自由20.0.0.12开始使用。

    持久计时器故障转移 :Liberty不支持将EJB持久计时器故障切换到其他服务器实例。注意:此功能正在开发中(目前处于测试阶段),您可以按照此处详述的进度进行操作:https://github.com/OpenLiberty/open-liberty/issues/7774更新:现在可从Liberty 20.0.0.5开始使用。

    有状态会话故障转移:Liberty不支持将有状态会话bean的状态故障转移到其他服务器实例。

    WLM:Liberty没有提供类似于WebSpherev9中为远程EJB调用提供的工作负载管理支持的功能。

    PMI:自由不支持在 WebSphere v9 上提供的 WebSphere 性能监视基础结构。

    远程EJB接口的本地优化:同一服务器进程中的远程EJB调用没有优化,它们将通过完整的RMI/IIOP堆栈。

    EJB MDB对侦听器端口的支持:Liberty支持将激活规范与消息驱动bean一起使用。

    根据应用程序的描述,由于缺少对事务传播、EJB 瘦客户端和 WLM 的支持,您在使用 EJB 远程接口时可能会遇到问题。您可能需要考虑将这些 Bean 公开为 Web 服务endpoint(@WebService)。此外,如果应用程序使用自定义 JNDI 名称,如 ejb/ABeanejblocal:ABean,那么您需要将这些名称切换为使用规范定义的位置(如 java:global/

  •  类似资料:
    • 我的角2应用程序在我的本地节点服务器上运行良好。然而,当dist/prod内容部署到服务器(准确地说是webphere自由服务器)时,url只能正常工作一次。当我尝试重新加载它时,它给我文件未找到异常。此外,http://localhost:5555/myapp/route1/somefeature/extra的深层路由也不起作用,并抛出相同的异常。 只是为了确认: < li >我使用了正确的ba

    • 问题内容: .net中EJB(企业Java Bean)的可比技术是什么? 问题答案: 只要您不尝试使用CMP,.Net 3.5中的WCF最为相似。虽然它允许服务端点用于SOAP类型的事物,但它也允许二进制远程处理。

    • 我一直在研究使用MVC:Annotation-Drived标记时有哪些额外的功能,我很难消化这些结果,尤其是关于@Controller注释。我知道这和这个问题很相似,但请听我说完。 根据Spring docs @Controller注释的基本目的是充当带注释类的原型,指示其角色。dispatcher将扫描这些带注释的类,寻找映射的方法,检测@RequestMapping注释(请参见下一节)。 这听

    • 自由软件不是新生事物,而是计算机业与身俱来的传统。纵览计算机发展史,从1946年到60年代,从 IBM 蓝色巨人到 ARPANET,从集成电路到 PC 机,从互联网到电信自由经营,每一个时期都留下了“自由”的影子。 可以说自由拷贝和源代码开放是整个计算机业,包括个人电脑及互联网两大领域的天然的软件开发和传播模式。早在60年代,就有以大学为阵地,以年轻人为主题,自由地交流的风尚,并在软件开发与研究方

    • 我有一个关于JavaEE bean的问题。我已经用Spring和Hibernate开发了很长时间,现在我改用JavaEE-所以很抱歉,如果这是一个非常简单的问题,但目前我不知道如何处理我的问题。 我有两个bean,它们在JNDI中注册(在JBoss上--参见上面)。-到目前为止还可以。如果我在Servlet中使用@ejb作为依赖项注入,它工作得很好: 16:39:51,490信息[org.jbos

    • 问题内容: 由于Spring能够像EJB一样使用事务。对我来说,Spring能够代替使用EJB的需求。谁能告诉我使用EJB的其他优点是什么? 问题答案: Spring从一开始就被开发为EJB的替代品,因此答案当然是您可以使用Spring代替EJB。 如果说使用EJB有“优势”,我想这将取决于您团队的技能。如果您没有Spring专业知识,并且拥有丰富的EJB经验,那么坚持使用EJB 3.0是一个不错