Hi,

I have been having issues with slow client reading messages sent. I
decided to close the session each time I have a WriteTimout exception
for a session.
So I close the IoSession.close() in the exceptionCaught method from
IOHandler, but the session does not closed immediately and hang around
for 10-15 more minutes.

Am I missing something here ?

Th


    public void exceptionCaught(IoSession session, Throwable e) throws Exception
    {
        Integer key = (Integer) session.getAttribute("key");
        String user = (String) session.getAttribute("user");
        int pendingWrite = session.getScheduledWriteRequests();

        if (e instanceof IllegalStateException)
            s_log.log(Level.WARNING,m_id + " - pendingWrite " +
pendingWrite, e.getMessage());
        else
            s_log.log(Level.WARNING, m_id + " - pendingWrite " +
pendingWrite + " error handling message for session (" + key + "/" +
user + ")", e);

        int idL = m_loging.getAndIncrement();
        if(e instanceof WriteTimeoutException)
        {
            s_log.warning("WriteTimeoutException " + idL);
        }

        if (e instanceof IOException)
        {
            s_log.warning("Force closing session because of IO
exception " + idL);
            session.setAttribute("close_reason", e.toString());
            session.close();

        }
    }

Feb 16 16:49:49 monitor monitor: [09.02.16 16:49:49:912 SessionManager
pool-1-thread-72] WARNING: zodiac - pendingWrite 504 error handling
message for session (6/rrossier)
Feb 16 16:49:49 monitor monitor:
org.apache.mina.common.WriteTimeoutException
Feb 16 16:49:49 monitor monitor:        at
org.apache.mina.transport.socket.nio.SocketIoProcessor.notifyWriteTimeout(SocketIoProcessor.java:299)
Feb 16 16:49:49 monitor monitor:        at
org.apache.mina.transport.socket.nio.SocketIoProcessor.notifyIdleness(SocketIoProcessor.java:280)
Feb 16 16:49:49 monitor monitor:        at
org.apache.mina.transport.socket.nio.SocketIoProcessor.notifyIdleness(SocketIoProcessor.java:260)
Feb 16 16:49:49 monitor monitor:        at
org.apache.mina.transport.socket.nio.SocketIoProcessor.access$700(SocketIoProcessor.java:45)
Feb 16 16:49:49 monitor monitor:        at
org.apache.mina.transport.socket.nio.SocketIoProcessor$Worker.run(SocketIoProcessor.java:490)
Feb 16 16:49:49 monitor monitor:        at
org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51)
Feb 16 16:49:38 monitor monitor: [09.02.16 16:49:38:902 SessionManager
pool-1-thread-70] WARNING: WriteTimeoutException 2353
Feb 16 16:49:38 monitor monitor: [09.02.16 16:49:38:902 SessionManager
pool-1-thread-70] WARNING: Force closing session because of IO
exception 2353

Feb 16 16:49:49 monitor monitor:        at java.lang.Thread.run(Unknown Source)

Reply via email to