私は Scala で書かれたアクターと Java で書かれたアクターを持つ Akka アプリケーションを持っています。あるケースでは、Scala アクターが を書き、Array[Byte]
これを Java アクターからデシリアライズする必要があります。このユースケースでは、最終的にJavaでの文字列表現が必要にArray[Byte]
なるため、問題も解決します。
スカラアクター:
val outputStream = new java.io.ByteArrayOutputStream()
val bufferedOutputStream = new java.io.BufferedOutputStream(outputStream, 1024)
val exitCode : Integer = processBuilder #> bufferedOutputStream !
bufferedOutputStream.flush
val content = outputStream.toByteArray // this gives an Array[Byte]
javaActorRef.tell(content, getSelf())
Java アクター:
/**
* {@inheritDoc}
*/
@Override
public void onReceive(Object object) throws Exception {
// object has a Scala Array[Byte] how do I convert here to
// byte[] or to String?