directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Colin Cullen" <colincul...@earthlink.net>
Subject RE: MINA
Date Wed, 28 Dec 2005 06:22:03 GMT
Trustin,

 

Thanks for your quick response, I was away on vacation though, such is my
late response.

 

If I remember, the exception resulting from the no decoder available was not
being caught in my filter, I think it is being caught inside Mina's demuxer
and not passed on, but I will double check tomorrow.  I guess I will look
for a different way to handle invalid messages other than a default decoder,
for now.

 

Regards,

Colin

 

 

 

 

-----Original Message-----
From: Trustin Lee [mailto:trustin@gmail.com] 
Sent: Thursday, December 22, 2005 4:09 AM
To: Apache Directory Developers List; Colin Cullen
Subject: Re: MINA

 

Hi Colin,

2005/12/22, Colin Cullen <colincullen@earthlink.net>:

Thanks for such a great product in MINA.  I have been working extensively
with 0.8 and I am very close to finishing a server with a semi-complex
protocol.  This server is destined for production and I am releived that I
have encountered very few problems (really none) regarding MINA.  A good
understanding of the MINA code base is necessary when working with some of
the more advanced features. 


Thank you for using MINA, too.  Your feedback help MINA community so much.

 

My problem:

I am using both DemuxingProtocolCodecFactory and DemuxingProtocolHandler to
good effect (thank you!).  What I would like to do is to define a default
decoder for inbound messages, to handle inappropriate message types,
allowing processig of these types to fit nicely into the design (maybe I am
just missing it).  I am currently extending DemuxingProtocolCodecFactory and
registering my codecs there, I have a decoder and handler for each 'valid'
inbound msg type which I want to handle.  Any suggestions for registering a
default msg type decoder. 


There's no way to do this in MINA 0.8 unfortunately.  But in MINA 0.9, the
exceptions thrown from ProtocolEncoder and ProtocolDecoder are easily
distinguished; ProtocolEncoder throws ProtocolEncoderException and
ProtocolDecoder throws ProtocolDecoderException.  So, you can handle invalid
inbound messages in your exceptionCaught() handler.  Migrating your
application to MINA 0.9 is quite easy, but you might experience some API
changes until 1.0 is released.

If you're going to use MINA 0.8, then you'll have to use
ProtocolViolationException, but this exception can be thrown from
ProtocolEncoder, too.  Please make sure you don't throw any exceptions in
your encoders. 

Is this answer helpful?

HTH,
Trustin

-- 
what we call human nature is actually human habit
--
http://gleamynode.net/
PGP Key ID: 0x854B996C 


Mime
View raw message