SpyJMSException->BindException under heavy load
duslow Apr 20, 2004 12:22 PMJBoss 3.2.3, W2K, Sun JVM 1.4.2-b28
On the server side, I have multiple JMS queues that have EJBs posting messages to various queues using a ConnectionFactory obtained via "java:/JmsXA". I also have MDBs attached to some of the queues firing into the EJB tier. Everything is CMT.
On the client side, I have a Swing applet that connects to the various queues via the "ConnectionFactory" jndi name not "java:/JmsXA".
From time to time, I get the following exception in the client when trying to use a QueueBrowser to view the contents of the queue.
org.jboss.mq.SpyJMSException: Cannot authenticate user; - nested throwable: (java.net.BindException: Address already in use: connect)
at org.jboss.mq.Connection.authenticate(Connection.java:883)
at org.jboss.mq.Connection.(Connection.java:238)
at org.jboss.mq.Connection.(Connection.java:315)
at org.jboss.mq.SpyConnection.(SpyConnection.java:60)
at org.jboss.mq.SpyConnectionFactory.createQueueConnection(SpyConnectionFactory.java:116)
at com.nielsenmedia.common.utility.JMSHelper.initializeJMS(JMSHelper.java:502)
at com.nielsenmedia.common.utility.JMSHelper.getJMSMessages(JMSHelper.java:299)
at com.nielsenmedia.wfe.tools.jmsgui.JmsGui.loadDynamicComponents(JmsGui.java:119)
at com.nielsenmedia.wfe.tools.jmsgui.JmsGui.jbtnQueryActionPerformed(JmsGui.java:688)
at com.nielsenmedia.wfe.tools.jmsgui.JmsGui.access$500(JmsGui.java:51)
at com.nielsenmedia.wfe.tools.jmsgui.JmsGui$6.actionPerformed(JmsGui.java:507)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)
at javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1839)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:245)
at java.awt.Component.processMouseEvent(Component.java:5100)
at java.awt.Component.processEvent(Component.java:4897)
at java.awt.Container.processEvent(Container.java:1569)
at java.awt.Component.dispatchEventImpl(Component.java:3615)
at java.awt.Container.dispatchEventImpl(Container.java:1627)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
at java.awt.Container.dispatchEventImpl(Container.java:1613)
at java.awt.Component.dispatchEvent(Component.java:3477)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
Caused by: java.net.BindException: Address already in use: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:305)
at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:171)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:158)
at java.net.Socket.connect(Socket.java:452)
at java.net.Socket.connect(Socket.java:402)
at java.net.Socket.(Socket.java:309)
at java.net.Socket.(Socket.java:153)
at javax.net.DefaultSocketFactory.createSocket(DashoA6275)
at org.jboss.mq.il.oil.OILServerIL.createConnection(OILServerIL.java:563)
at org.jboss.mq.il.oil.OILServerIL.checkConnection(OILServerIL.java:507)
at org.jboss.mq.il.oil.OILServerIL.authenticate(OILServerIL.java:289)
at org.jboss.mq.Connection.authenticate(Connection.java:876)
... 32 more
I never get the exception if there is no activity on the server.
Is there a possible issue with intermixing "java:/JmsXA" and "normal" jms connections?
Is it a resource issue?
Dustin