【问题标题】:Does Liberty Profile support RMI callLiberty Profile 是否支持 RMI 调用
【发布时间】:2016-11-21 18:25:25
【问题描述】:

我想用 Spring Boot(1.4.2) 和 Liberty profile beta 调用 MDM RMI 服务。当我调用 RMI 服务时得到 javax.naming.NameNotFoundException: Intermediate context does not exist.但相同的应用程序在 Websphere 应用程序服务器 8.5 中运行良好。

Liberty 配置文件不支持 RMI 调用,或者我缺少任何配置。我在 server.xml 中取消了以下功能。

webProfile-7.0

localConnector-1.0

【问题讨论】:

  • 您是在尝试进行远程 EJB 调用还是 RMI 调用?有一点不同,Java EE Web 配置文件不包括对远程 EJB 的支持,但 RMI 是 Java SE 的一部分。
  • 我需要调用一个 MDM 服务器资源,它是幕后的 EJB,但它从 MDM 公开为 RMI。
  • 你能显示失败的完整堆栈跟踪吗?正如 Alasdair 建议的那样,webProfile-7.0 不支持远程 EJB,因此根据您要执行的操作,您可能需要启用 ejbRemote-3.2
  • [err] javax.naming.NameNotFoundException:中间上下文不存在:com/dwl [err] at com.ibm.ws.jndi.internal.ContextNode.getTargetNode(ContextNode.java:126) [错误] 在 [内部类] [错误] 在 javax.naming.InitialContext.lookup(InitialContext.java:417)

标签: spring-boot websphere-liberty


【解决方案1】:

我可以使用 Liberty 16.0.0.3 进行远程 EJB RMI 调用。

基本上,我们需要在 Liberty 中启用某些 EJB 功能才能进行远程 EJB 调用。

从以下链接下载 Liberty Full 平台。

https://developer.ibm.com/wasdev/downloads/#asset/runtimes-wlp-javaee7

在 server.xml 中添加以下功能。默认情况下,这将是完整平台 Liberty 的一部分。

<feature>javaee-7.0</feature>
    <feature>ejbRemote-3.2</feature>
    <feature>ejbHome-3.2</feature>
    <feature>ejb-3.2</feature>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多