今天试一把传说中的 jinterface 是什么感觉
能让 Java 模拟一个 erlang 结点与 erlang 结点用 erlang 的模式通信
效果展示
先启动 java 侧(使用 -DOtpConnection.trace=4 开启了最高级别的调试日志)
1 | java -DOtpConnection.trace=4 -cp .:/Users/chenduo/erls/23.3/lib/jinterface-1.11.1/priv/OtpErlang.jar JNodeServer.java |
再启动 erlang 侧并发出请求消息, 可以看到顺利拿到了结果
1 | erlc jcomplex.erl |
java 侧也显示收到了消息 {foo,100}
和{bar,100}
, 并返回了101
和200
, 如下
1 | <- ACCEPT FROM com.ericsson.otp.erlang.OtpSocketTransport@1bec2ee2 |
还, 不, 错, 吧
不过现在与其他(foreign)系统交互基本都通过 http 或 grpc 了, 没啥人用 erlang distribution
可惜了
源码
JNodeServer.java
1 | import com.ericsson.otp.erlang.*; |
jcomplex.erl
1 | -module(jcomplex). |
参考链接
http://erlang.org/doc/apps/jinterface/jinterface_users_guide.html