Дождитесь, пока актер akka обработает ожидающие сообщения, прежде чем завершить

0

Вопрос

У меня есть приложение spring boot, и когда я останавливаю приложение spring boot, участники akka прекращают работу, даже если у них есть сообщения, подлежащие обработке. я хочу изменить поведение и хочу, чтобы даже после завершения работы приложения spring boot, если у этого актера akka есть сообщения, которые он должен обработать, и после этого он должен быть прекращен, я попробовал несколько вещей, но мне не повезло, я попытался изящно завершить загрузку spring.

любая помощь будет оценена по достоинству.

заранее спасибо

akka java spring-boot
2021-11-16 13:54:40
1

Лучший ответ

1

Я не знаю никакого выхода из сложившейся ситуации, чтобы добиться этого, но вы могли бы попросить своих актеров использовать пользовательский почтовый ящик, в котором есть уведомление, которое уведомляет глобального актора всякий раз, когда изменяется пустота почтового ящика. Этот глобальный субъект отслеживает, у каких субъектов есть хотя бы одно сообщение в почтовом ящике. Затем вы регистрируете скоординированное завершение работы, которое в основном запрашивает у этого участника завершение работы в будущем, когда нет участников с хотя бы одним сообщением.

Обратите внимание, что, поскольку субъекты могут отправлять произвольно много сообщений себе или другим субъектам в процессе обработки сообщения, нет никакой гарантии, что когда-либо наступит момент, когда ни у одного субъекта не будет сообщений в соответствующих почтовых ящиках. Поэтому вы, вероятно, захотите, чтобы у ваших актеров были какие-то средства для того, чтобы они начали использовать определение обработки, что влечет за собой отправку меньшего количества последующих сообщений; как следствие, такого рода вещи должны быть настроены для вашего приложения и соответствовать проблеме, которую вы пытаетесь решить с помощью приложения (и нет никакой гарантии, что такое определение обработки существует).

По этой причине более Акка-идиоматично согласиться с тем, что доставка и обработка сообщения, как правило, не гарантируется никогда.

2021-11-17 16:21:59

На других языках

Эта страница на других языках

Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................