<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-erlang</artifactId>
<version>1.0.0</version>
</dependency>
[{kernel, [{distributed, [{my_java_node, 5000, shortnames}]}]}].
import org.springframework.erlang.connection.ErlangConnectionFactory;
import org.springframework.erlang.core.ErlangCallback;
import org.springframework.erlang.core.ErlangTemplate;
import org.springframework.erlang.support.converter.ErlangConversionService;
public class ErlangCommunicationExample {
public static void main(String[] args) {
ErlangConnectionFactory connectionFactory = new ErlangConnectionFactory();
connectionFactory.setNodeName("my_java_node");
connectionFactory.setCookie("secret_cookie");
connectionFactory.setHost("localhost");
connectionFactory.setPort(5672);
ErlangTemplate erlangTemplate = new ErlangTemplate();
erlangTemplate.setConnectionFactory(connectionFactory);
ErlangConversionService conversionService = new ErlangConversionService();
erlangTemplate.setConversionService(conversionService);
ErlangCallback<Message> callback = new ErlangCallback<Message>() {
@Override
public void onMessage(Message message) {
System.out.println("Received message from Erlang: " + message.getText());
}
};
erlangTemplate.receiveAndReply(callback);
Message message = new Message();
message.setText("Hello from Java");
erlangTemplate.send(message);
}
}