Акка Ява использовать protobuf - PullRequest
       11

Акка Ява использовать protobuf

0 голосов
/ 22 февраля 2019

Я следовал за документацией по адресу: Сериализация Akka

У меня есть это в моем application.conf:

actor {
    provider = "cluster"
    akka.actor.allow-java-serialization = off

    serializers {
      proto = "akka.remote.serialization.ProtobufSerializer"
    }

    serialization-bindings {
      "com.google.protobuf.Message" = proto
      "java.io.Serializable" = none
      "sharding.Messages" = proto
    }
  }

И интерфейс сообщения:

public interface Messages extends Serializable {
    public static class RecordTemperature implements Messages {
        public final Integer deviceId;
        public final Double temperature;

        public RecordTemperature(Integer deviceId, Double temperature) {
            this.deviceId = deviceId;
            this.temperature = temperature;
        }

        @Override
        public String toString() {
            return "RecordTemperature(" + deviceId + ", " + temperature + ")";
        }
    }
}

Я получил следующее исключение:

java.lang.NoSuchMethodException: sharding.Messages$RecordTemperature.toByteArray()

Что еще я должен сделать / добавить в конфигурацию?Должен ли я создать .proto файл и другие вещи?Документация akka совсем не помогает, я применил изменения, как указано в документации, но что-то не работает.

...