我正在使用一种工具连接到Open Office writer应用程序。编写器在与我的Java工具不同的进程中运行。为了在两个组件之间进行通信,我使用UNO Api。我经常收到一条错误消息,指出程序的Open Office部分崩溃了。发生这种情况时,可以在日志中找到这样的堆栈跟踪:
com.sun.star.lang.DisposedException: java_remote_bridge com.sun.star.lib.uno.bridges.java_remote.java_remote_bridge@8ebb23 is disposed
at com.sun.star.lib.uno.bridges.java_remote.java_remote_bridge.checkDisposed(java_remote_bridge.java:715)
at com.sun.star.lib.uno.bridges.java_remote.java_remote_bridge.sendRequest(java_remote_bridge.java:634)
at com.sun.star.lib.uno.bridges.java_remote.ProxyFactory$Handler.request(ProxyFactory.java:154)
at com.sun.star.lib.uno.bridges.java_remote.ProxyFactory$Handler.invoke(ProxyFactory.java:136)
at $Proxy69.getCurrentController(Unknown Source)
有谁知道,我怎么能找到为什么桥梁被处置?我很感谢任何提示。
最佳答案
我在回溯项目时遇到了类似的问题。除一个特定实例外,无法确定桥梁被拆除的原因。在桥打开的同时打开和关闭另一个OOo Writer实例时,它也会关闭桥。但是,问题绝对不仅仅限于单个实例。
我使用OOoBean结束了工作,它简化了打开,关闭和保持打开状态的连接。自2006年以来,OOoBean尚未更新:OOoBeans dead? - What are my alternatives?。同一篇文章中提到了一个新的库(NOA),它可以完成与OOoBean类似的任务:http://www.usegroup.de/software/noa/index.php/Main_Page。