]
Howard Gao commented on JBMESSAGING-1751:
-----------------------------------------
the client should be disconnected like
try
{
theClient = createClient();
ConnectionFactoryGetClientAOPStackRequest req =
new ConnectionFactoryGetClientAOPStackRequest(id, v);
return (byte[])doInvoke(theClient, req);
}
finally
{
if (theClient != null)
{
theClient.disconnect();
}
}
ClientConnectionFactoryDelegate.getClientAOPStack() should close its
Remoting Client
------------------------------------------------------------------------------------
Key: JBMESSAGING-1751
URL:
https://jira.jboss.org/jira/browse/JBMESSAGING-1751
Project: JBoss Messaging
Issue Type: Bug
Affects Versions: 1.4.0.SP3.CP09, 1.4.6.GA
Reporter: Ron Sigal
Assignee: Howard Gao
Priority: Minor
Fix For: 1.4.0.SP3.CP10, 1.4.6.GA.SP1, 1.4.7.GA
org.jboss.remoting.transport.socket.MicroSocketClientInvoker uses a complex key for the
map of connection pools, and one element of the key is the value of
"maxPoolSize". Since the org.jboss.remoting.Client used by
ClientConnectionFactoryDelegate.getClientAOPStack() uses the default maxPoolSize, and the
main Client created by JMSRemotingConnection uses the value 200 set in
remoting-bisocket-service.xml, two separate connection pools are created. Since
ClientConnectionFactoryDelegate.getClientAOPStack() doesn't close its Client, the
first connection pool doesn't get deleted promptly.
Now, MicroSocketClientInvoker is paranoid about the failure to close Clients, so,
whenever a Client is closed (technically, when the last Client to use a particular
MicroSocketClientInvoker is closed), all connection pools are deleted. So, whenever the
last JBM connection to a particular server is closed, the orphan connection pool will be
closed. But it's unpredictable when that will happen.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: