У меня запущено приложение elixir / otp. Он должен использовать некоторый код Java, поэтому я использую JInterface для достижения связи, подобной RPC.
У меня сейчас это общение работает. Я могу отправить сообщение из эликсира в Java и концептуально отправить обратно некоторые данные.
Мне нужно отправить обратно массив строк.
Это может показаться простой задачей, но я изо всех сил пытаюсь найти для этого подходящую документацию. Единственная информация, которую я могу найти, действительно помогает мне отправить обратно двоичную строку.
Вот важная часть моего кода JInterface:
private static void setupMBox() {
try {
OtpNode myOtpNode = new OtpNode("server");
OtpMbox myOtpMbox = myOtpNode.createMbox("ltext");
myOtpNode.setCookie("cookiepassword");
while (true) {
OtpErlangTuple tuple = (OtpErlangTuple) myOtpMbox.receive();
OtpErlangPid lastPid = (OtpErlangPid) tuple.elementAt(0);
OtpErlangAtom dispatch = (OtpErlangAtom) tuple.elementAt(1);
if (dispatch.toString().equals("split_paragraph")) {
List<String> sentences = paragraphSplitter.splitParagraphIntoSentences(TEST_PARAGRAPH, Locale.JAPAN);
List<OtpErlangString> erlangStrings = new ArrayList<OtpErlangString>();
for (String sentence : sentences) {
erlangStrings.add(new OtpErlangString(sentence));
}
// this will not work
OtpErlangList erlangList = new OtpErlangList((OtpErlangObject[]) erlangStrings.toArray());
myOtpMbox.send(lastPid, erlangList);
System.out.println(erlangList);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
Если кто-то сделал это и может мне помочь, я был бы очень признателен за руководство. Заранее спасибо!