2013-10-24 11 views
0

我已經成功創建了一個獨立的Java應用程序,與我們的Connections服務器進行通信。端點在src \ META-INF \ managed-beans.xml中定義,而sbt.properties存儲在項目的根目錄中。managed-beans.xml將存儲在Domino數據庫內以供Java代理使用?

我想將代理作爲java代理移動到Notes數據庫。使用Java透視圖,我可以看到數據庫有一個WebContent \ WEB-INF文件夾,但沒有類似的META-INF文件夾。把managed-beans.xml放在那裏似乎不起作用。我也嘗試在WebContent \ WEB-INF \ faces-config.xml中定義託管bean,但沒有取得成功(從我目前閱讀的內容來看,似乎WEB-INF更適用於XPages和Web工作,而通過將managed-bean.xml存儲在我的機器上的sbt.user-directory(C:\ Program Files(x86)\ IBM \ Lotus \ Notes \ framework)中,將META-INF用於獨立Java代理,我讀的文件,但有例外。我會更好,如果我可以存儲Notes數據庫中的XML文件。

普通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有位於Core/Java文件夾中的META-INF文件(如從Java透視圖中看到的)。試圖把我的managed-beans.xml也放在那裏,但代理不會讀它(還!)。

+0

您可以查看Playground的代碼,並查看它指向的內容。 –

回答

1

faces-config.xml僅在代碼從xpages觸發時才起作用,運行java-agent時不是這種情況。 您的情況有幾種解決方案: - 您不使用託管的bean,但是您在代碼中手動創建端點 - 創建自己的託管bean提供程序(這是一個擴展點)並從您自己的文件 Java代理的設計不支持使用大型代碼庫。他們每次調用時都會創建一個新的類加載器,並重新加載所有的類。這可能會導致性能問題。您可以通過在XPages中運行代碼並從代理(XAgent)觸發XPage,或者在HTTP任務中使用Eclipse作業(在OpenNTF上提供幾個示例)或使用OpenNTF中的「DOTS」框架來解決此問題。

+0

感謝Philippe! –

相關問題