与 Open Office 的连接问题 (com.sun.star.lang.DisposedException)
Posted
技术标签:
【中文标题】与 Open Office 的连接问题 (com.sun.star.lang.DisposedException)【英文标题】:Problems with connections to Open Office (com.sun.star.lang.DisposedException) 【发布时间】:2012-11-21 12:46:42 【问题描述】:我正在开发一个连接到 Open Office 编写器应用程序的工具。编写器在与我的 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)
有谁知道,我怎样才能找出这座桥被处置的原因?我很感激任何提示。
【问题讨论】:
这个问题与我的代码无关。据我所知,这座桥是 Open Office Uno Api 的一部分。 【参考方案1】:我在回溯一个项目时遇到了类似的问题。无法确定这座桥被拆除的原因,除了一个特定的实例。当另一个 OOo Writer 实例在桥打开时打开和关闭时,它也会关闭桥。但问题绝对不限于这个单一的实例。
我最终使用了 OOoBean,它简化了连接的打开、关闭和保持打开。 OOoBean 自 2006 年以来未更新:OOoBeans dead? - What are my alternatives?。同一篇文章提到了一个可以完成与 OOoBean 类似任务的新库 (NOA):http://www.usegroup.de/software/noa/index.php/Main_Page。
【讨论】:
感谢您的回复。即使我不想关闭编辑器,桥也会崩溃。从 oo 论坛我得到了答案,当没有可见的 ui 时没有控制器。 对不起,忘了说。我已经在使用 noa 了。但这座桥仍然在碰撞。 我从未使用过 NOA,但就像我说的,OOoBean 解决了我的类似问题。不幸的是,这是我回答问题的能力范围,我们放弃了 OOo 嵌入,因为它带来了很多问题。这里是项目原代码的链接:autshumatoite.svn.sourceforge.net/viewvc/autshumatoite/tags/… 1.0.2版。以上是关于与 Open Office 的连接问题 (com.sun.star.lang.DisposedException)的主要内容,如果未能解决你的问题,请参考以下文章
阅读 Excel 文件 MSOffice 与 Open Office