Hi, I am new to this forum. I have some code that converts COBOL copybook
records, which can have variable length, into Java objects. For some reasons
the byte length of the record cannot be passed up front. So my existing code
uses blocking I/O (buffered InputStream) and it works pretty well.
I have a server around it that was built on top of Apache Phoenix code. The
Phoenix project is no longer supported so I've decided to move to Apache
MINA which looks pretty cool too. However, I am not sure what is the best
way of integrating my code into it.

As far as I can see, there are two ways:

1) Implement a subclass of StreamIoHandler and get back to good old blocking
I/O. But I can see that experts here recommend not doing so unless
absolutely necessary. Also, why Handler and not Filter?
2) Implement a subclass of CumulativeProtocolDecoder that will try to decode
message and if there is not enough bytes available yet, return false so that
MINA comes back with more data. Well, that seems highly ineffective,
especially when working with large records - you have to throw away all the
work and redo it again when more data becomes available.

Suggestions?
Thanks, Andrei
-- 
View this message in context: 
http://www.nabble.com/What-is-a-best-way-of-decoding-variable-size-records--tf4518931s16868.html#a12890468
Sent from the Apache MINA Support Forum mailing list archive at Nabble.com.

Reply via email to