I’m using webMethods IS 6.1 (MS Windows 2000 Advanced Server) with JDBC adapter 6.0.3.
We build an application with guaranteed delivery semantics on an active-passive cluster. That’s why we have to consider the possibility of transitient DB-blackouts. Our solution uses retries for every DB-query until the DB connection is reestablished.
Our testcase was switching off the DB (MS SQL-Server 2000 Enterprise Edition) and restarting it some minutes later, during normal traffic on the IS.
Our results are the following:
When enabling JDBC-connection pooling, the connections are not refreshed, after the DB is restarted. This causes our application to get stuck in the retry loops, even when the DB is up again.
When we disabled JDBC connection pooling, the connections where refreshed and the Services on IS started runnig again after the DB restart. But after some minutes (around 3min), the DB connections broke and the Services could not continue, though the DB was up and running.
Questions: Does anybody have similar experiences and found out more about this problem? Is there a service to explicitly refresh the JDBC connection pool? What can cause the breakdown of the services 3min after DB restart when disabling pooling?
Regarding how to refresh JDBC connections:
You can use this svc in WmART package in webM IS 6.1
let us know if you need any help in invoking this svc.
Regarding the results you saw;
I will say (1) will happen; I have seen such a behavior with JDBC 6.0.3 with IS 6.1;
a nice caveat is that say if you have some polling notifications on the JDBC connection, and you have set min connection to say 0, and the connections expire before the next poll, the above situation will not occur.
Hence, depending on how you have set your JDBC connection properties and how you are retrying in your code, you may end up in not seeing this behavior at all !!!
Hope I wasn’t too cryptic in my explanation.
And I don’t see why you should have seen (2) result. If you are able to reproduce it, you may want to open webMethods SR for it(result 2).
Thanks very much for your reply!
I will chck if setResourceState helps. Because of (2) i already opened a SR - i’ll keep you informed about it.
I have uploaded a service in a package which you can schedule (if needed) to reset JDBC Adapter connections once DB is refreshed.
Thanks very much for your support!!