Проблемы с подключением к Open Office (com.sun.star.lang.DisposedException)
Я работаю над инструментом, который подключается к приложению Open Office Writer. Автор работает в другом процессе, чем мой инструмент Java. Для связи между двумя компонентами я использую API UNO. Regulary я получаю сообщение об ошибке, что Open Office Part программы упал. Когда это происходит, трассировку стека можно найти в журналах:
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)
Кто-нибудь есть идеи, как я могу узнать, почему мост утилизируется? Я благодарен за любую подсказку.
1 ответ
Я столкнулся с подобными проблемами с проектом назад. Не удалось выяснить причину отчуждения моста, за исключением одного конкретного случая. Когда другой экземпляр OOo Writer открывается и закрывается, когда мост открыт, он также закрывает мост. Но проблема определенно не ограничивается этим единственным случаем.
В итоге я использовал OOoBean, который упростил открытие, закрытие и сохранение открытого соединения. OOoBean не обновлялся с 2006 года: OOoBeans мертв? - Какие у меня есть альтернативы?, В той же публикации упоминается новая библиотека (NOA), которая может выполнять те же задачи, что и OOoBean: http://www.usegroup.de/software/noa/index.php/Main_Page.