Dear MINA-team,
We are using the MINA 0.8.2 to implement a DataCollector application
(apply the Service Wrapper in Unix) so that the data-loss issue is very
critical.
Our protocol:
1. Client sends a message
2. Software will decode and send the ACK to Client
3. Do business (via messageRecieved() methods).
The problem is:
When stopping my application, it has to complete all the message already
sent ACK => what can I do? How could I get the number of being-processed
messages (already sent to the ProtocolDecoderOutput.write() in decode()
method) of MINA?
Does MINA show the API to get this number?
I have implemented the ServiceRegistry with information below (almost
the same as the SimpleServiceRegistry existed in MINA):
==============================================
public class DCServiceRegistry implements ServiceRegistry {
private static Logger m_logger =
logger.getLogger(DCServiceRegistry.class);
protected final IoAcceptor socketIoAcceptor
= new SocketAcceptor();
protected final ProtocolAcceptor
socketProtocolAcceptor = new IoProtocolAcceptor(
socketIoAcceptor);
protected final IoThreadPoolFilter
ioThreadPoolFilter = new IoThreadPoolFilter();
protected final ProtocolThreadPoolFilter
protocolThreadPoolFilter = new ProtocolThreadPoolFilter();
private final Set
services = new HashSet();
================================================
If you have any idea about this issue, please help me ASAP. It's very
urgent to me.
Thanks & best regards,
Hieu Phan.