1 Reply Latest reply on Apr 21, 2004 8:44 AM by adrian.brock

    SpyJMSException->BindException under heavy load

    duslow

      JBoss 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

        • 1. Re: SpyJMSException->BindException under heavy load

          You have probably run out anonymous client connections, this is a frequent problem
          on Windows which has a stupid small default limit IMHO.
          Also use netstat -an to see what sockets are open.

          See their knowledge base on changing the it, the link is posted in this actual link forum
          somewhere.