Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

Форум поддержки пользователей. LibreOffice, Apache OpenOffice, OpenOffice.org

8 Декабрь 2021, 23:07 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Доступно и просто о работе в офисных пакетах
 
   Начало   Помощь Поиск Войти Регистрация    задать вопрос  
Страниц: 1   Вниз
  Печать  
Автор Тема: Как отсоединиться от LibreOffice, не убивая его? (LO 7.1, Java 8, Windows 10)  (Прочитано 2701 раз)
0 Пользователей и 1 Гость смотрят эту тему.
PaulEfremoff
Участник
**
Offline Offline

Сообщений: 10


« Ответ #58102: 8 Апрель 2021, 17:14 »

Java 8 приложение запускает процесс с LibreOffice 7.1 (обычный, с графической оболочкой пользователя), подключается к нему UnoRuntime.queryInterface(XComponentContext.class, xUrlResolver.resolve("uno:socket,"+hostAndPort+";urp;StarOffice.ComponentContext")); делает свои дела (можно вообще ничего не делать, как тестовый вариант). Приходит время расстаться. Хотелось бы расстаться по-хорошему, не убивая LO. Но
1. Простое закрытие приложения оставляет висящие потоки AsynchronousFinalizer, MessageDispatcher.
2. xDesktop.terminate() убивает LO.
3. Попытка выйти на xBridgeFactory.getExistingBridges() даёт 0 массив.

Мне кажется, этой проблеме присвоен ранг feature, и она никогда не будет иметь решения.

P.S. История получила продолжение.
Сперва показалось, что предчувствия меня не обманули
https://bugs.documentfoundation.org/show_bug.cgi?id=127625
Resolution : NOTABUG.
И уже думал самому создавать Connection и Bridge.
https://www.programcreek.com/java-api-examples/?code=LibreOffice/noa-libre/noa-libre-master/src/ag/ion/bion/officelayer/internal/application/connection/RemoteOfficeConnection.java
Но внезапно выяснилось, что Oleg Shchelykalnov (кто закрыл этот bug) немного поглумился над простыми программистами.
Нужно брать так называемый локальный контекст = com.sun.star.comp.helper.Bootstrap.createInitialComponentContext(null),
и тогда мы получим наш Bridge.

« Последнее редактирование: 10 Апрель 2021, 18:20 от PaulEfremoff » Записан
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!