通过Jinterface调用gen_server?

时间:2014-04-25 11:24:02

标签: java erlang otp 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而不是第一个代码?我知道如何使用Jinterface将消息发送到pid,但后来我有一个处理它的接收语句。我想使用OTP,但我不明白如何。

1 个答案:

答案 0 :(得分:0)

有两种方法可以通过Jinterface连接到Erlang代码:messages和RPC。

这里记录了RPC:http://www.erlang.org/doc/apps/jinterface/jinterface_users_guide.html#id57655

请注意,它不是"非OTP"使用消息。如果你有gen_server,你可以直接给它发消息并在handle_info函数中接收消息。