Jonathan Halliday [
http://community.jboss.org/people/jhalliday] replied to the discussion
"JcaXAResourceRecovery"
To view the discussion, visit:
http://community.jboss.org/message/541015#541015
--------------------------------------------------------------
Thanks Jesper. I took a quick look at those changesets and I have two points:
I may be misunderstandin ghte model, but it seems that
ManagedConnectionFactoryDeployment.getXAResources() creates a new connection on each call,
which is good in that if the db crashes and recovers whilst the app servers stays up, the
system will effectively reconnect rather than continuing to use a stale connection.
However, as far as I can tell, it's never disposing those connections. Since the
recovery system will make one pass every two minutes by default, it's going to leak
pretty badly. The integration SPI does not allow for explicit disposal, so the best bet
is probably to keep a handle on the last connection used and on each call to
getXAResources either validate it (i.e. ping the db to make sure it's still there) and
reuse it, or explicitly release it and get a new one.
The XAResourceWrapperImpl usage appears to be applied only to XAResources used for
recovery, not he ones used during normal transaction usage. It would be helpful to have
the same wrapping applied to the XAResource handed out to the transaction manager during
normal operation, as that would allow correlation in the logs between the tx run and the
recovery. I'm guessing that's a fairly minor cutnpaste type fix - any chance of
squeezing it in?
Thanks
Jonathan
--------------------------------------------------------------
Reply to this message by going to Community
[
http://community.jboss.org/message/541015#541015]
Start a new discussion in JCA Development at Community
[
http://community.jboss.org/choose-container!input.jspa?contentType=1&...]