JMS connections to JBoss server hang, timeout after 5 minute
pcarbon Feb 9, 2006 2:20 PMUnder heavy JMS messaging load some of our 4.0.2 JBoss servers seem to stop accepting any kind of connections, whether JMS, http, etc.
When this happens the clients which try to connect to the servers to send them a JMS message hang for about 5 minutes and then get the following exception:
org.jboss.mq.SpyJMSException: Cannot authenticate user; - nested throwable: (java.net.SocketException: Connection r
eset)
at org.jboss.mq.SpyJMSException.getAsJMSException(SpyJMSException.java:66)
at org.jboss.mq.SpyJMSException.rethrowAsJMSException(SpyJMSException.java:51)
at org.jboss.mq.Connection.authenticate(Connection.java:1118)
at org.jboss.mq.Connection.(Connection.java:267)
at org.jboss.mq.Connection.(Connection.java:338)
at org.jboss.mq.SpyConnection.(SpyConnection.java:68)
at org.jboss.mq.SpyConnectionFactory.createConnection(SpyConnectionFactory.java:87)
at amazon.alice.messagesenders.JMSMessageSender.reConnect(JMSMessageSender.java:246)
at amazon.alice.messagesenders.JMSMessageSender.getConnection(JMSMessageSender.java:165)
at amazon.alice.messagesenders.JMSMessageSender.send(JMSMessageSender.java:71)
at amazon.alice.messagesenders.GenericMessageSender.sendMessage(GenericMessageSender.java:37)
at amazon.alice.messagesenders.GenericMessageSender.sendMessage(GenericMessageSender.java:44)
at amazon.alice.initiators.PipelineInitiator.processItem(PipelineInitiator.java:333)
at amazon.alice.initiators.AbstractInitiator$InitiationExecution.run(AbstractInitiator.java:363)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(SocketInputStream.java:168)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:218)
at java.io.BufferedInputStream.read1(BufferedInputStream.java:256)
at java.io.BufferedInputStream.read(BufferedInputStream.java:313)
at org.jboss.util.stream.NotifyingBufferedInputStream.read(NotifyingBufferedInputStream.java:77)
at java.io.ObjectInputStream$PeekInputStream.read(ObjectInputStream.java:2217)
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2230)
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2698)
at java.io.ObjectInputStream.readStreamHeader(ObjectInputStream.java:750)
at java.io.ObjectInputStream.(ObjectInputStream.java:268)
at org.jboss.mq.il.uil2.SocketManager$ReadTask.run(SocketManager.java:277)
Does anybody have any idea what could be causing these servers to stop accepting connections? Also, can the default timeout on the client side be changed from 5 minutes to something else?
Thanks for your help,
Peter