В моем приложении есть Service ChatProtocolClient. Реализация представляет собой tcp-клиент, который подключается к удаленному серверу с помощью «метода инициализации» и отключается с помощью «метода уничтожения».
У меня также есть другой пакет, который использует соединение этого ChatProtocolClient для чтения и отправки сообщений из канала, ChatChannel. В настоящее время у меня есть файл xml, который создает bean-компонент ChatProtocolClient и создает bean-компонент ChatChannel, в который вводится ссылка на созданную службу ChatProtocolClient.
Но как я могу обрабатывать отключения от сервера? Я хотел бы сообщить платформе Blueprint, что мой экземпляр ChatProtocolClient сейчас непригоден для использования, и он должен отменить регистрацию этого экземпляра.
Предпочтительно, чтобы Blueprint автоматически вызывал метод destroy для всех зависимых bean-компонентов (bean-компонентов, в которые Blueprint внедрил эту ссылку на службу) и инициализировал новый bean-компонент ChatProtocolClient и все bean-компоненты, которые были уничтожены из-за сбоя зависимости.
Как это может быть сделано?