Я хотел бы создать конвейер обработчиков, таких как:
public ChannelPipeline getPipeline() throws Exception
{
return Channels.pipeline(
new ObjectEncoder(),
new ObjectDecoder(),
new AuthenticationServerHandler(),
new BusinessLogicServerHandler());
}
Ключ в том, что я бы хотел, чтобы AuthenticationServerHandler
мог передавать информацию для входа в систему BusinessLogicServerHandler
.
Я понимаю, что вы можете использовать Attachment
, однако он хранит информацию только для этого обработчика, другие обработчики в конвейере не могут получить к нему доступ.Я также заметил, что есть нечто под названием ChannelLocal
, которое может помочь, но я не могу найти никакой реальной информации о том, как его использовать.Все, что я видел, это то, что люди создают статический экземпляр для него, но как вы получаете и получаете доступ к информации в другом обработчике?Предполагая, что это правильный метод.
Мой вопрос: как вы передаете информацию между обработчиками в одном конвейере.В приведенном выше примере как передать учетные данные для входа из AuthenticationServerHandler
в BusinessLogicServerHandler
?