Tigase внешний компонент в виде одной банки - PullRequest
0 голосов
/ 11 апреля 2019

Я реализовал компонент tigase с определенной функциональностью и сейчас пытаюсь понять, как использовать его в качестве внешнего компонента. На данный момент мне кажется, что мне нужно настроить отдельный сервер Tigase с моим компонентом на нем, а затем настроить основной сервер TIGASE для ссылки на этот отдельный сервер в качестве внешнего компонента.

То, что я хотел бы сделать, это собрать эту внешнюю тигазу в один jar-файл, чтобы иметь возможность запускать его одной командной строкой без предварительной установки tigase.

Вопрос: возможно ли это вообще?

Похоже, что для запуска tigase требуется база данных, а руководство по администрированию рекомендует использовать базу данных общего главного сервера для внешних компонентов. Я не уверен, что tigase может запуститься без базы данных, что делает его довольно трудным для запуска с помощью простой команды java -jar.

Ответы [ 2 ]

1 голос
/ 11 апреля 2019

На данный момент мне кажется, что мне нужно настроить отдельный сервер tigase с моим компонентом на нем, а затем настроить основной сервер tigase для ссылки на этот отдельный сервер как на внешний компонент.

Это правильно. В этом отношении сервер Tigase XMPP следует XEP-0114: протокол компонентов Jabber и XEP-0225: соединения компонентов . Пожалуйста, обратитесь к Настройка внешнего компонента для получения подробной информации о том, как настроить его в Tigase.

То, что я хотел бы сделать, это собрать эту внешнюю тигазу в один jar-файл, чтобы иметь возможность запускать его одной командной строкой без предварительной установки tigase. Вопрос это вообще возможно?

Вы можете создать «банку убер» - да, это возможно. Одним из возможных решений будет создание вашего компонента в виде отдельного проекта maven, настройка tigase-server как зависимости и затем использование jar-with-dependencies из Apache Maven Assembly Plugin . Он извлечет все необходимые, настроенные зависимости и поместит их в один файл JAR. Обратите внимание, что, например, драйверы базы данных не будут включены.

Кажется, что для запуска tigase требуется база данных, а руководство по администрированию рекомендует использовать базу данных общего главного сервера для внешних компонентов. Я не уверен, что tigase может запуститься без базы данных, что затрудняет запуск с помощью простой команды java -jar.

База данных действительно требуется - это дает преимущество в том, что ваша конфигурация согласована со многими узлами, на которых может работать ваш внешний компонент (вам нужно обновить только один раз на одном узле, а все остальные узлы обновят его автоматически), но вы не нужно использовать базу данных основного сервера. Пожалуйста, смотрите Использование с отдельной базой данных для деталей. Если вы используете только один локальный экземпляр вашего внешнего компонента, вы можете создать простую базу данных derby и поместить свою конфигурацию в etc/externalComponentItems файл

0 голосов
/ 11 апреля 2019

Да, для компонента Tigase Framework / API требуется ядро ​​Tigase Server для запуска.И вы загружаете только ядро ​​сервера Tigase своим пользовательским компонентом.Совместно используемая база данных между основным XMPP-сервером Tigase и экземпляром компонента рекомендуется для простоты, но не является обязательной.Я думаю, что экземпляр внешнего компонента может даже работать с фиктивным соединителем БД, если БД действительно не нужна.

...