Hi Nicolas, Mind you that I am not a MINA expert :-) I am not convinced that your decoder is wrong, I was just trying to help you. Of course it's possible that the duplicates messages are caused by a Mina bug, I just find it rather unlikely.
Have you tried to debug your application, and step through the decoding process ? It can be very enlightening. I haven't used DemuxingProtocolCodecFactory myself, but I see that the pos and limit of the ByteBuffer are reset after calling decoder.decodable() Not sure that is compatible with your code ? good luck, Maarten On 1/17/07, Nicolas FROMENT <[EMAIL PROTECTED]> wrote:
No problem for the confusion ;) No problem for logging more too. But as I said in my first post I receive the message twice about one time for every 100 000 messages. So the log can be HUGE. Regarding sharing the decoder I assume hat is not the case ! I use ProtocolCodecFactory extended from DemuxingProtocolCodecFactory. I think that the decoder / encoder are new for each session. Tell me again if I'm wrong. As you seem convinced that my decoder is wrong can i suggest that Mina can failed too ? :) I mean if mina has been tested with protocol such as http, receiving a message twice could be hidden (you just send back a response twice), maybe nobody notice this. Do you think it's possible ? Nicolas Maarten Bosteels a écrit : > On 1/17/07, Nicolas FROMENT <[EMAIL PROTECTED]> wrote: >> >> > >> > >> > As you can see, when there is no data available it just returns an >> > emty string. >> > I would check in.remaining() before reading the header >> > >> Thanks for your help. As you may see this test is already done in >> decodable(). As far as I know decodable is called before decode. So when >> readHeader is called there is more than HEADER_LENGHT data? So an empty >> string is not return. By the way, let's imagine that it is the case, I >> don"t see how it can be related to a duplicate message ? again do i miss >> something important ? > > You're right, I got confused. > I would put some more logging in your decoder. > I guess you know that, since your decoder is statefull, it should be > not shared with other IoSessions ? > -- ****************************************************************** Nicolas Froment [EMAIL PROTECTED] Software Architect Hi-Stor Technologies www.histor.fr 23 bd Victor Hugo Std: +33 (0) 562 12 14 40 (Voice) Bâtiment Socrate Fax: +33 (0) 562 12 14 49 31770 Colomiers FRANCE ****************************************************************
