Hi,

I have a really simple client application that uses the following
method to establish a connection:

Logger logger = LoggerFactory.getLogger("test");
IoConnector ioConnector = new NioSocketConnector();
ioConnector.getFilterChain().addLast("logger", new LoggingFilter());
ioConnector.setHandler(new IoHandlerAdapter());
logger.debug("Before connect...");
ConnectFuture cf = ioConnector.connect(new
InetSocketAddress("localhost", 19971));
logger.debug("After connect...");
logger.debug("Before await...");
cf.awaitUninterruptibly();
logger.debug("After await...");

I created a standard java application that invokes this method and got
the following output:

04:37:58.575 [main] DEBUG test - Before connect...
04:37:58.581 [main] DEBUG test - After connect...
04:37:58.582 [main] DEBUG test - Before await...
04:37:58.596 [NioProcessor-1] INFO  o.a.m.filter.logging.LoggingFilter - CREATED
04:37:58.597 [main] DEBUG test - After await...
04:37:58.598 [NioProcessor-1] INFO  o.a.m.filter.logging.LoggingFilter - OPENED
04:37:58.609 [NioProcessor-1] INFO  o.a.m.filter.logging.LoggingFilter
- RECEIVED: HeapBuffer[pos=0 lim=114 cap=2048: 43 49 4D 44 32 2D 41 20
43 6F 6E 6E 65 63 74 69...]

That's OK, I expected this behavior.

However I also created a web application that includes a
ContextListener. The ContextListener calls the method on startup and I
get this output:

04:30:48.469 [httpWorkerThread-4848-1] DEBUG test - Before connect...
04:30:48.477 [httpWorkerThread-4848-1] DEBUG test - After connect...
04:30:48.477 [httpWorkerThread-4848-1] DEBUG test - Before await...
04:30:48.481 [NioSocketConnector-1] WARN
o.a.m.core.DefaultExceptionMonitor - Unexpected exception.
java.lang.NullPointerException
       at 
org.apache.mina.core.polling.AbstractPollingIoConnector$ConnectionRequest.access$200(AbstractPollingIoConnector.java:517)
       at 
org.apache.mina.core.polling.AbstractPollingIoConnector.processTimedOutSessions(AbstractPollingIoConnector.java:446)
       at 
org.apache.mina.core.polling.AbstractPollingIoConnector.access$600(AbstractPollingIoConnector.java:64)
       at 
org.apache.mina.core.polling.AbstractPollingIoConnector$Worker.run(AbstractPollingIoConnector.java:471)
       at 
org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51)
       at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
       at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
       at java.lang.Thread.run(Thread.java:619)

What can go wrong when I use the web application? Can I make it work somehow?

I'm not really sure if it is a problem with MINA itself or Glassfish
or something else, so if you think it's not really a MINA issue please
let me know and I'll ask on a more proper forum.
-- 
Zizi

"Oh, by the way... Anyone still experiencing stress by the end of the
day... WILL BE FIRED!!!"

Reply via email to