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 次 |
最近记录: |