Ste*_*ier 6 java networking nio netty
我想创建一个处理程序管道,例如:
public ChannelPipeline getPipeline() throws Exception
{
return Channels.pipeline(
new ObjectEncoder(),
new ObjectDecoder(),
new AuthenticationServerHandler(),
new BusinessLogicServerHandler());
}
Run Code Online (Sandbox Code Playgroud)
这里的关键是我希望AuthenticationServerHandler能够将登录信息传递给BusinessLogicServerHandler.
我确实理解你可以使用一个Attachment,但只存储该处理程序的信息,管道中的其他处理程序无法访问它.我还注意到有些东西ChannelLocal可能会起作用,但我找不到任何关于如何使用它的真实信息.我所见过的是人们为它创建一个静态实例,但是如何检索和访问另一个处理程序中的信息?假设这是正确的方法.
我的问题是:如何在同一管道中的处理程序之间传递信息.在上面的例子中,我如何从通过登录凭据AuthenticationServerHandler的BusinessLogicServerHandler?
ChannelLocal是去atm的方式。只需在某处创建一个静态实例,然后通过将 Channel 传递给 set/get 方法从处理程序中访问它。这样您就可以在频道之间共享内容。
| 归档时间: |
|
| 查看次数: |
5102 次 |
| 最近记录: |