[英]JCo (SAP) in OSGi (Karaf)
我正在使用JCo連接器從使用JAVA的SAP系統寫入和讀取iDocs。
在“普通JAVA”中,該方法可以正常工作。
server = JCoIDoc.getServer(SERVER);
server.setIDocHandlerFactory(new MyIDocHandlerFactory());
server.setTIDHandler(new MyTidHandler());
MyThrowableListener listener = new MyThrowableListener();
server.addServerErrorListener(listener);
server.addServerExceptionListener(listener);
server.setConnectionCount(1);
server.start();
現在...我想將這段代碼捆綁在一起,並將其放入OSGi容器(Karaf)中。 但是它立即在以下行崩潰:
server = JCoIDoc.getServer(SERVER);
錯誤是:
com.sap.conn.jco.JCoException:(106)JCO_ERROR_RESOURCE:com.sap.conn.jco上的com.sap.conn.jco.rt.StandaloneServerFactory.update(StandaloneServerFactory.java:338)上不存在服務器服務器。 com.sap.conn.idoc.jco.JCoIDoc.getServer(JCoIDoc.java:301)上的rt.StandaloneServerFactory.getServerInstance(StandaloneServerFactory.java:175)
我不明白為什么會這樣...我需要某種特殊的配置嗎? 或者不可能在OSGi上運行它。
我知道我可以使用駱駝樹液進行連接,但是我想嘗試一種非駱駝的解決方案。
我不認為該錯誤信息
com.sap.conn.jco.JCoException:(106)JCO_ERROR_RESOURCE:服務器服務器不存在
與OSGi有關。 它只是說默認的JCo運行時無法找到和加載JCoServer(您將其命名為“ SERVER”)的配置。 在工作的“普通Java”設置中,該文件必須已經存儲在屬性文件SERVER.jcoServer
。 在您的OSGi環境中,該文件丟失了,或者沒有存儲在正確的目錄中,或者應用程序缺少文件系統上所需的讀取權限。 默認情況下,JCo在進程的當前工作目錄中搜索那些<destinationName>.jcoDestination
和<serverName>.jcoServer
配置屬性文件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.