JDBC Adapter andor Adapter Service occasionallly require refreshreload to work

Hi, friends, this is a strange problem hope you could help out:

I have a JDBC Adapter for AS400 database, and a few Adapter Services (SelectSQL) I created using this AS400 JDBC Adapter. Most of the time, the adapter services (or the flow services invoking the adapter services) works fine. But occasionally, they failed on me with error message “The connection does not exist.”

I discovered that when that happens, if I just click the button “reload values from Adapter” in wM Developer, AND/OR refresh the JDBC adapter in IS by disable/enable it, the adapter service can run successfully again.

It might be something small and easy in Properties settings I overlooked. Anyone has similiar experience?

Thanks
Jin

Jin,

This could be a network related issue when AS400 connection trying to connect the DB server (there might be loose connections)

And also try to use the Minimum Pool Size= 0 in the JDBC settings,this makes when ever DB goes down unless there is a request it ping the server

Just my thoughts,

RMG,

Thank you for your reply. Changing Minimum Pool Size= 0 does not fix the problem. It happened to me again after I applied this change. I simply reload/refresh the adapter service and it worked again. I doubt if it is network issue, since my other applications that query data from AS400 does not seem to have same problem.

Thanks
Jin

I have the same problem…the “connection does not exist” error…from tomcat 4 connected trough pool to an Iseries (V5R3) whith the last JTopen jdbc driver…

nick_developer,

I’ve found out what happened to us. Our AS400 system and ERP system have a weekly reboot on every Wed. After the system reboot, the connections on AS400 need to be refreshed to use.

My solution is, use wm.art.Admin.connection:setResourceState to enable connection. You can use getResourceState first to determine whether the connection state is enabled or disable. If disabled, then enable it; otherwise, just leave it be.

Good luck,
Jin

Anyone have a solution for this problem using wm 4.6 SP2 and the JT400.jar file ?

Upgrading is not posssible at this time.

My problem is that I get a connection and pass it from one service to another. When the second service executes, the connection is sometimes null. Even if I test the connection and determine it is null, I cannot acquire another connection - the servicew continues to fail. The AS/400 logs do not contain any errors and the service goes into a never-ending loop (I am doing a REPEAT in fllow using the built-in service ‘pub.db:connect’ to get the connection)

Any ideas are appreciated…John

Hi Guys,

I’ve encountered the same problem with the jdbc adapter and have taken the advice of “usrfdluj” and wrote a service that get’s all the JDBC connections and reloads each one. I invoke this service before the main service that will send a transaction through to a database.

This has seemed to work for now, but will need to investigate advantage to see if there is any solution there.
I’ll post on here once I’ve found a solution

not a good approach… tell us about the issue and I am sure there would be better way to resolve!!

The issue i’m having is that the JDE database that webMethods talks to, gets restarted every night, even though the webMethods server is still up. When a transaction comes through the after the db restart, an exception is thrown saying “Unable to invoke xxxAdapterService”, which is the service that invokes the JDBC adapter. What we normally do is reload the adapter via the IS Console, by clicking on “disable/enable”. This fixes the problem and when the transaction is re-run, it goes through successfully.

To make it a more automated process, i wrote the service that reloads the adapter using flow code. This meant that i could invoke the reloadAdapter service before starting any transactions to the db.

I was going to look in advantage to see if there is a patch for JDBC adapters, but haven’t done so just yet.

I’m looking for a more permanent solution, however with the client raising concerns about manually reloading the adapter and also re-executing the transaction, this was a temporary fix that works till a more permanent one can be found.

search on this forum more on ideas on how to automate this… I remember posting “reset jdbc connections” code some time back to reload JDBC adapters and discussion on how this can be used to resolve such issues…

look at this thread and also this one…

To see how the package can be used to automate reset of connections after DB restart, look at this thread

HTH