Hi,

I have an application which has a very simple scenario of sending Java 
POJO(serializable) objects from Mina client to server and client waits for the 
response.

It was all working very fine with mina-core-2.0.0-M3.jar but looks like 
something has changed in  mina-core-2.0.0-M6.jar and mina-core-2.0.0-RC1.jar 
where on several messages mina server receives the message from client ( both 
process running on same machine) after a delay of 5 seconds. I can see that on 
client side LoggingFilter has written the message but then there is a delay on 
server side when it is received.

I ran  the test on the same "dataset" for the above 3 versions of MINA and - M3 
runs fine without any issue and there is no delay. I am testing this in a 
controlled environment where at any given point of time only 1 message is sent. 
Only after the response is received, does the second message is sent out.

Message is basically  - an array List - have 3 members where2 members are of 
string type and  1 member is HashMap of around 12 objects(11 are simple 
primitive wrappers and 1 POJO - having 6 primitives wrappers)

Can someone point me to the right direction?

Thanks
Vijay

-----------------Mina client code snippet ------------
            connector.getFilterChain().addLast("codec",new 
ProtocolCodecFilter(new ObjectSerializationCodecFactory()));
            connector.getFilterChain().addLast( "logger",new LoggingFilter() );
            connector.setConnectTimeoutMillis(30 * 1000);

            ConnectFuture future1 = connector.connect( address );
            future1.awaitUninterruptibly(15, TimeUnit.SECONDS);
            if (!future1.isConnected()) {
                  return false;
            }
            session = future1.getSession();

            CloseFuture closeFuture = session.getCloseFuture();
            closeFuture.addListener((IoFutureListener<?>) new 
IoFutureListener<IoFuture>() {
                public void operationComplete(IoFuture future) {
                    System.out.println("The session is now closed");
                    logger.info("Mina client session is getting closed");
                }
            });

---------------------------------------Mina Server Code snippet 
---------------------------------------------------------
        acceptor = new NioSocketAcceptor();

        acceptor.getFilterChain().addLast( "logger",
                                           new LoggingFilter() );
        acceptor.getFilterChain().addLast( "codec",
                                           new ProtocolCodecFilter( new 
ObjectSerializationCodecFactory() ) );

        acceptor.setHandler( handler );
        acceptor.getSessionConfig().setReadBufferSize( 2048 );
        acceptor.getSessionConfig().setIdleTime( IdleStatus.BOTH_IDLE,
                                                 3 );

        acceptor.bind( new InetSocketAddress( "127.0.0.1", port ) );




Reply via email to