Сделать вызов gen_server через Jinterface?

Как мне сделать звонок, как это:

order_cat(Pid, Name, Color, Desc) ->
    gen_server:call(Pid, {order, Name, Color, Desc}).

что-то вроде этого:

handle_call({order, Name, Color, Desc}, _From, Cats) ->
    if Cats =:= [] ->
        {reply, make_cat(Name, Color, Desc), Cats};
       Cats =/= [] ->
        {reply, hd(Cats), tl(Cats)}
    end;
handle_call(terminate, _From, Cats) ->
    {stop, normal, ok, Cats}.

используя Java и Jinterface вместо первого кода? Я знаю, как отправить сообщение в pid с помощью Jinterface, но затем у меня есть оператор получения, который обрабатывает его. Я хочу использовать OTP, но не понимаю как.

1 ответ

Решение

Есть два способа подключения к вашему коду Erlang через Jinterface: сообщения и RPC.

RPC задокументирован здесь: http://www.erlang.org/doc/apps/jinterface/jinterface_users_guide.html

Обратите внимание, что это не "не OTP" для использования сообщений. Если у вас есть gen_server, вы можете отправить его напрямую и получить сообщение в функции handle_info.

Другие вопросы по тегам