0

我已经成功创建了一个独立的 Java 应用程序,与我们的 Connections 服务器通信。端点在 src\META-INF\managed-beans.xml 中定义,而 sbt.properties 存储在项目的根目录中。

我想将代理作为 java-agent 移动到 Notes 数据库。使用 Java 透视图,我可以看到数据库有一个 WebContent\WEB-INF 文件夹,但没有类似的 META-INF 文件夹。将 managed-beans.xml 放在那里似乎不起作用。我还尝试在 WebContent\WEB-INF\faces-config.xml 中定义托管 bean,但没有成功(从我目前阅读的内容来看,似乎 WEB-INF 更适合 XPages 和 Web 工作,而META-INF 用于独立的 java 代理。

通过将 managed-bean.xml 存储在 sbt.user 目录(我的机器上的 C:\Program Files (x86)\IBM\Lotus\Notes\framework)中,我可以读取该文件,但有例外。如果我可以将 xml 文件存储在 Notes 数据库中,那就更好了。

普通 NotesMain() 中的代码片段是

RuntimeFactory runtimeFactory = new RuntimeFactoryStandalone();
Application application = runtimeFactory.initApplication(null);
Context context = Context.init(application, null, null);

BasicEndpoint ep = (BasicEndpoint)EndpointFactory.getEndpoint("connections"); 

编辑:还没有成功,但我看到 SBTPlayground.nsf 的 META-INF 文件位于 Core/Java 文件夹中(从 Java Perspective 看到)。也尝试将我的 managed-beans.xml 放在那里,但代理不会读取它(还没有!)。

4

1 回答 1

1

faces-config.xml 仅在从 xpages 触发代码时才有效,而在运行 java-agent 时则不然。您的情况有几种解决方案: - 您不使用托管 bean,但您在代码中手动创建端点 - 您创建自己的托管 bean 提供程序(这是一个扩展点)并从您自己的文件 Java 代理加载它们不支持使用大型代码库。每次调用它们时,它们都会创建一个新的类加载器,并重新加载所有类。这可能会导致性能问题。您可以通过在 XPage 中运行代码并从代理 (XAgents) 触发 XPage 来解决此问题,或者在 HTTP 任务中使用 Eclipse 作业(OpenNTF 上有几个示例),或者使用 OpenNTF 的“DOTS”框架.

于 2013-10-25T12:45:31.053 回答