1

我已迁移所有内容并将应用程序部署到新服务器。当我尝试运行它时,出现以下异常:

尝试使用提供程序 URL:“corbaloc:iiop:127.0.0.1:2809”获取初始上下文时发生通信失败。确保 URL 中的任何引导地址信息都是正确的并且目标名称服务器正在运行。没有指定端口的引导地址默认为端口 2809。除了不正确的引导地址或不可用的名称服务器之外,可能的原因还包括网络环境和工作站网络配置。

现在,在完整的配置文件中,我知道在哪里可以看到引导地址以及如何配置它。不过,我在 Liberty 个人资料上找不到任何东西。我确实查看了几个 IBM 文档,但找不到如何操作。这里的任何人都可以指出我正确的方向吗?

只是为了包括所有内容,这里是 jndi.properties 文件中的相关部分:

java.naming.provider.url=corbaloc:iiop:127.0.0.1:2809 java.naming.factory.initial=com.ibm.websphere.naming.WsnInitialContextFactory

除了部署应用程序之外,我还从未使用过任何一种 WAS,也从未使用过 JNDI 查找或其他任何东西。我知道有一个使用 java.properties 文件的工厂。

由于我想尽可能少地进行迁移,因此我假设最简单的方法是更改​​ Liberty 中的引导地址,而不是更改应用程序中正在运行的代码。

4

2 回答 2

1

为了在 WebSphere Liberty 上的应用程序中使用 JNDI,不需要配置任何特殊属性(例如java.naming.*您提到的那些)。

要在 Liberty 上使用 JNDI,请在 server.xml 中启用 JNDI 功能:

<featureManager>
  <feature>jndi-1.0</feature>
</featureManager>

InitialContext然后您可以像这样在应用程序的 Java 代码中获取并执行查找:

DataSource myDs = InitialContext.doLookup("jdbc/myDataSource");
于 2018-04-18T14:13:55.880 回答
1

如果您需要将引导地址设置为非默认值,您可以在 server.xml 中使用该<iiopEndpoint>元素执行此操作,例如:

<iiopEndpoint id="defaultIiopEndpoint" iiopPort="2809"/>

这里有 ORB 的完整文档。

于 2018-04-18T20:30:42.790 回答