У нас есть компонент, написанный на Groovy (назовем его «G-Component»), который должен взаимодействовать с компонентом, написанным на Scala/AKKA (назовем его «A-Component»).
Что лучше всего соответствует нашим потребностям, так это очередь сообщений:
"G-COMPONENT" <==> in memory messaging queue <==> "A-COMPONENT"
Для "G-COMPONENT" жизнь проста:
queue.send( message )
message = queue.receive()
Для компонента AKKA это кажется немного более сложным, поскольку есть Актер, который должен «обрабатывать»/«получать» сообщения и иметь возможность «отправлять» сообщения обратно.
Проблема заключается в части «получения», так как теперь ей нужно войти в собственный цикл, чтобы прослушивать сообщения из очереди. Что... отключает его как актера AKKA, поскольку, оказавшись в этом цикле, он не может получать сообщения AKKA.
Был бы признателен за любую помощь в чистом решении для этого, без внедрения плагина AKKA для почтового ящика актера «этой конкретной реализации очереди».