【问题标题】:Calling a Remote EJB running on a Weblogic instance using Host & Port name使用主机和端口名称调用在 Weblogic 实例上运行的远程 EJB
【发布时间】:2013-12-12 23:55:22
【问题描述】:

我有一个关于使用 Weblogic Server 的主机和端口名称调用在 Weblogic 实例上运行的远程 EJB (3.0) 的问题。

我已经阅读了 Java EE 6 tutorial 专门关于通过 JNDI 或通过依赖注入调用远程 EJB。

但我使用的环境(通用开发环境)有客户端代码,它使用 Spring 通过主机名和端口名访问 EJB。

我有一个 Weblogic 的本地实例并部署了 ear 文件。我想按照相同的工作流程(使用主机名和端口名)在我的本地机器上调用这个 ejb(客户端将在本地的另一个应用程序服务器上运行)来查看远程连接到我的 ejb 是否有效。但我不确定与端口号有什么关系。我错过了什么?

【问题讨论】:

    标签: jakarta-ee ejb weblogic ejb-3.0


    【解决方案1】:

    我相信,就调用客户端而言,它通过 JNDI 通过 RMI 访问远程 EJB。应该没什么不同。

    Spring 确实对访问远程 EJB 有一些原生支持

    http://docs.spring.io/spring/docs/4.0.0.RELEASE/spring-framework-reference/htmlsingle/#ejb-access

    通常,当您拥有远程服务器的主机/端口时,它是为 JNDI 上下文创建的 InitialContext 对象的一部分。看起来还有一些 Spring 组件负责这个映射:在 context.xml 中,有 jee:local-slsb。不知道有没有等价的注解。

    我自己没有做过任何这些,但文档可能是一个好的开始。

    【讨论】:

    • 感谢 Spring 参考文档的链接。对 EJB 的调用与预期的文档调用类似。我想知道如何找出我需要用于在我的本地 weblogic 实例上运行的 EJB 的端口。端口号是否与默认的 7001 相同?或者我在哪里可以找到相关的配置(config.xml、setDomainEnv.cmd 等)?谢谢。
    • 是的,WebLogic 实例的默认 JNDI 端口通常是 7001。不过,没有什么可以阻止 WebLogic 实例将其分配给不同的端口。您可以尝试使用 7001,如果它找不到远程主机,您需要与看管服务器的人员确认它正在使用哪个端口。
    • 我已经好几年没在愤怒中使用WebLogic了。我不记得这将存储在 WebLogic 配置中的哪个位置。对不起。
    猜你喜欢
    • 2023-03-07
    • 1970-01-01
    • 2022-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-11
    • 1970-01-01
    • 2011-11-21
    相关资源
    最近更新 更多