У меня есть сообщение, которое я отправляю через кластер в Акке. У меня есть два базовых узла и один внешний узел. Бэкэнд-узлы выглядят нормально, но внешний узел не подходит (связь не удалась).Akka Сообщения в подпроектах?
Я чувствую, что у меня есть намек на то, почему это так: у меня есть рабочая конфигурация (внешний интерфейс появляется и отправляет и получает сообщения в порядке), но внешний интерфейс, бэкэнд и общие сообщения находятся в одном пакете. Когда я перемещаю их на отдельные подпроекты (общий, внешний и бэкэнд), код прерывается. Есть ли очевидная причина, почему это так? Кроме того, stacktrace:
[INFO] [10/08/2014 17:00:32.385] [ClusterSystem-akka.actor.default-dispatcher-14] [Cluster(akka://ClusterSystem)] Cluster Node [akka.tcp://[email protected]:62701] - Welcome from [akka.tcp://[email protected]: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://[email protected]: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://[email protected]:62701/system/endpointManager/reliableEndpointWriter-akka.tcp%3A%2F%2FClusterSystem%40192.168.1.7%3A2551-0] Association with remote system [akka.tcp://[email protected]:2551] has failed, address is now gated for [5000] ms. Reason is: [sample.cluster.transformation.BackendRegistration$].
Я считаю, что для этого должна быть очевидная причина. У моего файла Build.scala есть зависимости, и я импортирую классы/объекты, которые мне нужны, но действительно ли они в отдельных подпроектах влияют на что-либо?
Если вы разделили проект на подпроекты, то у них нет доступа к классам друг друга, если вы не используете 'dependOn' в вашем конфигурационном файле sbt, [здесь] (http://www.scala-sbt.org /0.12.2/docs/Getting-Started/Multi-Project.html) вы можете найти документацию. –
У меня есть dependOn (я не думаю, что он скомпилировался бы без него). Все компилируется отлично, оно просто не срабатывает должным образом при запуске интерфейса. Бэкэнд прекрасно подходит. –