At first, I was tempted to say that since a JMS Connection is a heavy-weight object
anyway, it does not matter too much if each JMS Connection instance creates and maintains
its own separate TCP/IP connection (which it will do if we explicitly and distinctly
"name" remoting clients, as you suggested).
However, the physical TCP/IP connection pooling offered by remoting may prove beneficial
in some use cases. Imagine 100 co-located JMS clients opening connections to a server, but
sending messages at a relatively low rate. If we disable remoting TCP/IP connection
pooling, we'll have 100 distinct physical TCP/IP connection, each of them firing from
time to time, and sitting idle the rest of the time. If we use TCP/IP connection pooling,
it is very likely to actually start a very low number of physical TCP/IP connections, the
actual number depending on the send rate, as each TCP/IP connection is allocated on an
invocation basis.
I would rather fix Remoting.
I would suspect fixing it is as simple as NOT disabling lease pinging unless
ClientInvokerHolder.counter for the client being disconnected is 1. Any value higher than
1 means that the client is still in use by somebody else. However, this is just a
superficial attempt to come with a solution and needs to be validated by the Remoting
team.
As soon as the Remoting team produces a fix, we can release CR5 based on a remoting
snapshot.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3972082#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...