मैं इस तरह के रूप संचालकों की एक पाइप लाइन बनाने के लिए करना चाहते हैं:Netty कैसे एक ही पाइप लाइन में संचालकों के बीच सूचना पारित करने के लिए
public ChannelPipeline getPipeline() throws Exception
{
return Channels.pipeline(
new ObjectEncoder(),
new ObjectDecoder(),
new AuthenticationServerHandler(),
new BusinessLogicServerHandler());
}
कुंजी यहाँ है कि मैं AuthenticationServerHandler
चाहते हैं पारित करने के लिए सक्षम होने के लिए है BusinessLogicServerHandler
पर लॉगिन जानकारी।
मुझे समझ में आता है कि आप Attachment
का उपयोग कर सकते हैं, हालांकि केवल उस हैंडलर के लिए जानकारी संग्रहीत करता है, पाइपलाइन में अन्य हैंडलर इसका उपयोग नहीं कर सकते हैं। मैंने यह भी देखा कि ChannelLocal
नामक कुछ ऐसा था जो चाल कर सकता है, हालांकि मुझे इसका उपयोग करने के बारे में कोई वास्तविक जानकारी नहीं मिल रही है। मैंने जो कुछ देखा है, वह लोग इसके लिए एक स्थिर उदाहरण बनाते हैं, लेकिन आप किसी अन्य हैंडलर में जानकारी को कैसे प्राप्त और एक्सेस करते हैं? मान लें कि यह सही तरीका है।
मेरा प्रश्न है: कैसे आप एक ही पाइप लाइन में संचालकों के बीच जानकारी पास है। उपर्युक्त उदाहरण में, मैं AuthenticationServerHandler
से BusinessLogicServerHandler
पर लॉगिन प्रमाण-पत्र कैसे पास करूं?
यही वह है जिसे मैंने समझ लिया (अवधारणा में अधिक या कम), लेकिन मुझे यह कैसे करना है इस पर कहीं भी कोई उदाहरण नहीं मिला है। मैं अभी भी विवरण पर थोड़ा फजी ... –
हम इसे उपयोग नहीं कर रहे अपाचे जेम्स प्रोटोकॉल पर अब कर रहा हूँ, लेकिन मुझे लगता है कि आप पुराने कोड से विचार प्राप्त कर सकते हैं: http://svn.apache.org/viewvc /james/protocols/tags/protocols-1.5/impl/src/main/java/org/apache/james/protocols/impl/ChannelAttributeSupport.java?view=markup http://svn.apache.org/viewvc/ जेम्स/प्रोटोकॉल/टैग/प्रोटोकॉल-1.5/impl/src/मुख्य/जावा/org/अपाचे/जेम्स/प्रोटोकॉल/impl/AbstractChannelUpstreamHandler.java? दृश्य = मार्कअप –
यहाँ ChannelLocal के लिए एक उदाहरण है। http://stackoverflow.com/questions/8449663/usage-of-nettys-channellocal – Veebs