[jboss-user] [JBoss Messaging] - jms connection could not be released by jboss after the clie

funnyone do-not-reply at jboss.com
Fri Sep 12 04:59:33 EDT 2008

We have one JbossAS(a cluster with 3 nodes which jms server is deployed on one of them) running on Solaris 10(named Server-A). There is a client program on a pc(named Client-B) which receives JMS messages from the Jboss on Server-A(through topic).  

We have 2 NIC(network interface Card) on Client-B whose ips are 192.166.32.* and 172.30.2.*. 

When the Client-B starts, we establish one Jms connection with the jboss on Server-A.  In most of time, all the client and the server side works fine(the client can receive messages from the server and no messages were blocked on topic). but in recent days we found that the Client-B could not receive messages from Server-A(the jboss on Server-A works fine all the time) occasionally. In some time, a large numbers of messages on the topic which the client received messages from were blocked.  We also found that the ConnectionEndPoint could not be released by the jboss on Server-A because we found the ConnectionEndPoint was still there after we terminate the client program.  We observed this by the following(using jboss web-console,  using ServerPeer.showActiveClientsAsHTML()):

  | ID                                                      Host        User #Sessions 
  | ConnectionEndpoint[wk-adbbg0lf-1-6wome0lf-2nqd0q-g2us4] null 16 
  | ConnectionEndpoint[6n-3b6dg0lf-1-6wome0lf-2nqd0q-g2us4] null 0 
  | ConnectionEndpoint[do-n48dg0lf-1-6wome0lf-2nqd0q-g2us4] null 16 
  | ConnectionEndpoint[9n-hd6dg0lf-1-6wome0lf-2nqd0q-g2us4] null 2 
  | ConnectionEndpoint[tk-xfabg0lf-1-6wome0lf-2nqd0q-g2us4] null 0 
  | ConnectionEndpoint[tn-6o6dg0lf-1-6wome0lf-2nqd0q-g2us4] null 2 
  | ConnectionEndpoint[w-6hune0lf-1-6wome0lf-2nqd0q-g2us4] null 0 
  | ConnectionEndpoint[1m-rpzcg0lf-1-6wome0lf-2nqd0q-g2us4] null 16 
  | ConnectionEndpoint[k-oprne0lf-1-6wome0lf-2nqd0q-g2us4] null 2 

Just one day ago, we found the connection called onException() (we registered a listener by using connection.setExceptionListener() ) almost every 20 seconds. giving the following stack trace:
javax.jms.JMSException: Failure on underlying remoting connection
  | 	at org.jboss.jms.client.remoting.ConsolidatedRemotingConnectionListener.handleConnectionException(ConsolidatedRemotingConnectionListener.java:102)
  | 	at org.jboss.remoting.ConnectionValidator$1.run(ConnectionValidator.java:561)

How this happened? Could anyone knows what had happened with jms connection?

Normally when we close a jms client program the corresponding ConnectioinEndPoint will be closed by the jboss too after a certain seconds. But we didn't see this happened. the ConnectionEndPoint is still there. As we closed the client more times, there are more and more ConnectionEndPoints unclosed by the jboss.

We don't know how this happened and we doubted that the 2 NIC caused aforementioned problem. But how to solve the problem without pulling out one of the NIC?
Please help.

Some other information may be useful to solve this problem.
1. from the server's point of view, the client ip 172.30.2.* is unreachable through ping command. and the client ip 192.166.32.* is reachable through ping command.
2.  we get the ip 172.30.2.*(which is unreachable from server side) when using InetAddress.getLocalHost().getHostAddress() on the client side.
3.  In most time the connection between the client and the server works fine.

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4176063#4176063

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4176063

More information about the jboss-user mailing list