我已经成功创建了一个独立的Java应用程序,与我们的Connections服务器进行通信。端点在src \ META-INF \ managed-beans.xml中定义,而sbt.properties存储在项目的根目录中。
我想将代理程序作为java代理程序移动到Notes数据库。使用Java透视图,我可以看到数据库有一个WebContent \ WEB-INF文件夹,但没有类似的META-INF文件夹。将managed-beans.xml放在那里似乎不起作用。我还尝试在WebContent \ WEB-INF \ faces-config.xml中定义托管bean但没有成功(从我到目前为止所读到的内容来看,似乎WEB-INF更适用于XPage和Web工作,而META-INF适用于独立的Java代理。
通过将managed-bean.xml存储在我的机器上的sbt.user-directory(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放在那里,但是代理不会读它(但是!)。
答案 0 :(得分:1)
faces-config.xml仅在从xpages触发代码时才有效,而运行java-agent时则不然。 您的案例有几种解决方案: - 您不使用托管bean,但是在代码中手动创建端点 - 您创建自己的托管bean提供程序(这是一个扩展点)并从您自己的文件加载它们 Java代理程序不支持使用大型代码库。他们每次调用时都会创建一个新的类加载器,并重新加载所有类。这可能会导致性能问题。您可以通过在XPage中运行代码并从代理(XAgents)触发XPage,或在HTTP任务中使用Eclipse作业(OpenNTF上有几个示例)或使用OpenNTF中的“DOTS”框架来解决此问题。 。