Акка Сообщения в подпроектах?

У меня есть сообщение, которое я отправляю через кластер в Акке. У меня есть два базовых узла и один интерфейсный узел. Внутренние узлы работают нормально, но внешний интерфейс не запускается (ассоциация не удалась).

Я чувствую, что у меня есть подсказка о том, почему это так: у меня есть рабочая конфигурация (внешний интерфейс подходит и отправляет и получает сообщения в порядке), но внешний интерфейс, бэкэнд и обычные сообщения находятся в одном пакете. Когда я перемещаю их, разделяя их на отдельные подпроекты (common, frontend и backend), код ломается. Есть ли очевидная причина, почему это так? Также, трассировка стека:

[INFO] [10/08/2014 17:00:32.385] [ClusterSystem-akka.actor.default-dispatcher-14] [Cluster(akka://ClusterSystem)] Cluster Node [akka.tcp://ClusterSystem@192.168.1.2:62701] - Welcome from [akka.tcp://ClusterSystem@192.168.1.7:2552]
[INFO] [10/08/2014 17:00:32.425] [ClusterSystem-akka.actor.default-dispatcher-14] [akka://ClusterSystem/system/cluster/core/daemon/joinSeedNodeProcess-1] Message [akka.cluster.InternalClusterAction$InitJoinAck] from Actor[akka.tcp://ClusterSystem@192.168.1.7:2551/system/cluster/core/daemon#1100391461] to Actor[akka://ClusterSystem/system/cluster/core/daemon/joinSeedNodeProcess-1#217838192] was not delivered. [1] dead letters encountered. This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
[WARN] [10/08/2014 17:00:33.281] [ClusterSystem-akka.remote.default-remote-dispatcher-6] [akka.tcp://ClusterSystem@192.168.1.2:62701/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2FClusterSystem%40192.168.1.7%3A2551-0] Association with remote system [akka.tcp://ClusterSystem@192.168.1.7:2551] has failed, address is now gated for [5000] ms. Reason is: [sample.cluster.transformation.BackendRegistration$].

Я чувствую, что для этого должна быть очевидная причина. В моем файле Build.scala есть зависимости, и я импортирую нужные мне классы / объекты, но влияет ли это на отдельные подпроекты?

1 ответ

И я понял это...

Кажется, что моя удаленная система имела старую конфигурацию, в которой сообщения были в одном пакете, в то время как интерфейс имел конфигурацию с подпроектами (общий пакет в подпроекте). Кажется, что сериализация заботится об этом, даже если объекты case и классы case имеют одну и ту же сигнатуру, но разные пакеты в интерфейсе и бэкэнде.

Другие вопросы по тегам