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

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

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

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

Сообщений: 10


« Стартовое сообщение: 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 » Записан
kompilainenn
Мастер
*****
Offline Offline

Сообщений: 3 358



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

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

Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут
PaulEfremoff
Участник
**
Offline Offline

Сообщений: 10


« Ответ #2: 10 Апрель 2021, 19:01 »

или не заплатите кому-то, кто ее решит для вас
Намекаете? Сколько?
Записан
kompilainenn
Мастер
*****
Offline Offline

Сообщений: 3 358



« Ответ #3: 10 Апрель 2021, 19:29 »

Намекаете?
говорю прямо.

Сколько?
без понятия, я не программист. Свяжитесь с тем же Олегом и поговорите на тему
Записан

Поддержать разработчиков LibreOffice можно тут, а наш форум вот тут
sokol92
Форумчанин
***
Offline Offline

Пол: Мужской
Сообщений: 574


WWW
« Ответ #4: 10 Апрель 2021, 19:39 »

Нужно брать так называемый локальный контекст = com.sun.star.comp.helper.Bootstrap.createInitialComponentContext(null),

А в документации не так?
Записан

Владимир.
Страниц: 1   Вверх
  Печать  
 
Перейти в:  

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