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