Elixir — Запуск узла Java JInterface OTP под наблюдением

У меня есть зонтичный проект эликсира, в котором одно из приложений отправляет запросы в приложение Java, которое я представил как нечто похожее на процесс OTP с использованием JInterface.

Он отлично работает, потому что библиотека JInterface, поставляемая с Erlang, упрощает его.

Моя проблема в том, что мне нужно иметь возможность останавливать и запускать процесс JInterface в моем зонтичном приложении, и я не могу найти документацию, показывающую, как это сделать. В настоящее время я должен выполнить банку вручную.

Пожалуйста, может кто-нибудь объяснить / указать мне на документацию, показывающую, как я могу выполнить свою банку из эликсира под наблюдением?

Я так долго пытался выяснить, как это сделать, но я могу найти только документы о том, как использовать JInterface и как взаимодействовать с ним, но не о том, как запустить его программно под наблюдением. Заранее спасибо.


person apostrophedottilde    schedule 17.02.2020    source источник


Ответы (1)


Давным-давно мне пришлось сделать именно это, и результатом стал lucene_server. Вы можете найти код для мониторинга узлов здесь . Что-то в духе…

true = link(process()),
true = erlang:monitor_node(State#state.java_node, true),

Еще одна вещь, которая может оказаться полезной (со стороны Java), — ​​это использовать jinerface_stdlib.

person Brujo Benavides    schedule 18.02.2020
comment
Спасибо! Я попробую это. - person apostrophedottilde; 19.02.2020