В настоящее время мы обновляемся с Akka 2.0.4 до 2.4.2 (я знаю, довольно большой скачок, но никто не думал об этом постепенно).Извлечение адреса узла из RemotingShutdownEvent
В любом случае, в старой кодовой базе наш главный узел подключен к некоторым удаленным подчиненным узлам, которые иногда терпят неудачу («почему» еще предстоит изучить). Когда ведомое устройство умирает, мастер получает событие RemoteClientShutdown, из которого мы можем извлечь getRemoteAddress
и обработать его соответствующим образом (например, сообщить администратору на адрес электронной почты, указывающий на адрес отказавшего узла).
В версии 2.4.2 заменяется класс RemoteClientShutdown
(по крайней мере, я так полагаю) на RemotingShutdownEvent, который, будучи объектом, не несет никакой конкретной информации об источнике события.
Я проверил руководства по миграции, а также текущую документацию, но не смог найти информацию о том, как решить эту проблему. Согласно Event Bus documentation, единственный способ извлечь такую информацию - предоставить его в сообщении («Обратите внимание, что EventBus не сохраняет отправителя опубликованных сообщений. Если вам нужна ссылка на оригинального отправителя, вы должны предоставить его внутри сообщения ").
Должен ли я как-то переопределить сообщение, отправленное при удаленном отключении системы? Или есть другой рекомендуемый способ его решения? Надеюсь, этот вопрос не слишком новичок, я все еще совершенно новый для Akka.