oops sorry, and sorry for the delayed answer.

I am using mina-2.0.0-M4

here pseudo code of the code I am using:


static final Executor executor = Executors.newCachedThreadPool(new DaemonThreadFactory("controller")); static final SimpleIoProcessorPool pool = new SimpleIoProcessorPool(NioProcessor.class);
NioSocketAcceptor _acceptor;

public void init()
{
   _acceptor = new NioSocketAcceptor(executor, pool);
   _acceptor.getFilterChain().add...
   _acceptor.getFilterChain().add...
_acceptor.getFilterChain().addLast("threadPool", new ExecutorFilter(executor, IoEventType.MESSAGE_RECEIVED));
   _acceptor.setHandler(new ControllerHandler());
           // do not allow multiple servers to bind on the same port
   _acceptor.setReuseAddress(false);
           // close all connections on unbind
   _acceptor.setCloseOnDeactivation(true);
   ExceptionMonitor.setInstance(new ExceptionMonitor()..);
}

public void start()
{
 int port = startPort;
 boolean ok = false;

 while (!ok && port < maxPort)
 {
     try
     {
         _acceptor.bind(new InetSocketAddress(port));
         ok = true;
     }
     catch (Exception ex)
     {
         ex.printStackTrace();
         Thread.sleep(500);
         port++;
} }
}

public void stop()
{
       if (_acceptor != null && _acceptor.isActive())
           if (!_acceptor.isDisposing() && !_acceptor.isDisposed())
           {
               _acceptor.unbind();
               _acceptor.dispose();
           }
}

public void main
{
 init()
 while (! shutdown)
   {
       start()
       ..... // this may take minutes to 24 hours
       stop()
   }

}


Apart of the exception I already mentioned I am also getting randomly (once a week for a 24x7 application)

INFO|12848/0|09-09-03 02:59:49|java.io.IOException: An operation was attempted on something that is not a socket INFO|12848/0|09-09-03 02:59:49| at sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method) INFO|12848/0|09-09-03 02:59:49| at sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:145) INFO|12848/0|09-09-03 02:59:49| at org.apache.mina.transport.socket.nio.NioSocketAcceptor.accept(NioSocketAcceptor.java:218) INFO|12848/0|09-09-03 02:59:49| at org.apache.mina.transport.socket.nio.NioSocketAcceptor.accept(NioSocketAcceptor.java:49) INFO|12848/0|09-09-03 02:59:49| at org.apache.mina.core.polling.AbstractPollingIoAcceptor$Acceptor.processHandles(AbstractPollingIoAcceptor.java:472) INFO|12848/0|09-09-03 02:59:49| at org.apache.mina.core.polling.AbstractPollingIoAcceptor$Acceptor.run(AbstractPollingIoAcceptor.java:405) INFO|12848/0|09-09-03 02:59:49| at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:65) INFO|12848/0|09-09-03 02:59:49| at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) INFO|12848/0|09-09-03 02:59:49| at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
INFO|12848/0|09-09-03 02:59:49| at java.lang.Thread.run(Thread.java:619)


- Ron





Emmanuel Lecharny wrote:
rzo wrote:
Mina: 3.1.0
MINA last version is 2.0.0-M6 ...


Reply via email to