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] 172.30.2.16 null 16
| ConnectionEndpoint[6n-3b6dg0lf-1-6wome0lf-2nqd0q-g2us4] 172.30.2.16 null 0
| ConnectionEndpoint[do-n48dg0lf-1-6wome0lf-2nqd0q-g2us4] 172.30.2.16 null 16
| ConnectionEndpoint[9n-hd6dg0lf-1-6wome0lf-2nqd0q-g2us4] 172.30.2.16 null 2
| ConnectionEndpoint[tk-xfabg0lf-1-6wome0lf-2nqd0q-g2us4] 172.30.2.16 null 0
| ConnectionEndpoint[tn-6o6dg0lf-1-6wome0lf-2nqd0q-g2us4] 172.30.2.16 null 2
| ConnectionEndpoint[w-6hune0lf-1-6wome0lf-2nqd0q-g2us4] 172.30.2.16 null 0
| ConnectionEndpoint[1m-rpzcg0lf-1-6wome0lf-2nqd0q-g2us4] 172.30.2.16 null 16
| ConnectionEndpoint[k-oprne0lf-1-6wome0lf-2nqd0q-g2us4] 172.30.2.16 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#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...