Class DemuxingProtocolCodecFactory
- java.lang.Object
-
- org.apache.mina.filter.codec.demux.DemuxingProtocolCodecFactory
-
- All Implemented Interfaces:
ProtocolCodecFactory
public class DemuxingProtocolCodecFactory extends java.lang.Object implements ProtocolCodecFactory
A compositeProtocolCodecFactorythat consists of multipleMessageEncoders andMessageDecoders.ProtocolEncoderandProtocolDecoderthis factory returns demultiplex incoming messages and buffers to appropriateMessageEncoders andMessageDecoders.Disposing resources acquired by
MessageEncoderandMessageDecoderMake your
MessageEncoderandMessageDecoderto put all resources that need to be released as a session attribute.disposeCodecResources(IoSession)method will be invoked when a session is closed. OverridedisposeCodecResources(IoSession)to release the resources you've put as an attribute.We didn't provide any dispose method for
MessageEncoderandMessageDecoderbecause they can give you a big performance penalty in case you have a lot of message types to handle.- See Also:
MessageEncoder,MessageDecoder
-
-
Constructor Summary
Constructors Constructor Description DemuxingProtocolCodecFactory()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddisposeCodecResources(IoSession session)Implement this method to release all resources acquired to perform encoding and decoding messages for the specified session.ProtocolDecodergetDecoder()Returns a new (or reusable) instance ofProtocolDecoderwhich decodes binary or protocol-specific data into message objects.ProtocolEncodergetEncoder()Returns a new (or reusable) instance ofProtocolEncoderwhich encodes message objects into binary or protocol-specific data.voidregister(java.lang.Class<?> encoderOrDecoderClass)voidregister(MessageDecoder decoder)voidregister(MessageDecoderFactory factory)voidregister(MessageEncoder encoder)voidregister(MessageEncoderFactory factory)
-
-
-
Method Detail
-
register
public void register(java.lang.Class<?> encoderOrDecoderClass)
-
register
public void register(MessageEncoder encoder)
-
register
public void register(MessageEncoderFactory factory)
-
register
public void register(MessageDecoder decoder)
-
register
public void register(MessageDecoderFactory factory)
-
getEncoder
public ProtocolEncoder getEncoder() throws java.lang.Exception
Description copied from interface:ProtocolCodecFactoryReturns a new (or reusable) instance ofProtocolEncoderwhich encodes message objects into binary or protocol-specific data.- Specified by:
getEncoderin interfaceProtocolCodecFactory- Throws:
java.lang.Exception
-
getDecoder
public ProtocolDecoder getDecoder() throws java.lang.Exception
Description copied from interface:ProtocolCodecFactoryReturns a new (or reusable) instance ofProtocolDecoderwhich decodes binary or protocol-specific data into message objects.- Specified by:
getDecoderin interfaceProtocolCodecFactory- Throws:
java.lang.Exception
-
disposeCodecResources
protected void disposeCodecResources(IoSession session)
Implement this method to release all resources acquired to perform encoding and decoding messages for the specified session. By default, this method does nothing.- Parameters:
session- the session that requires resource deallocation now
-
-