JDBC Adapter loses connection overnight

I’m using JDBC Adapter 6.0.2 to connect to a DB/2 database on an AS/400 with these settings:

Transaction Type: NO TRANSACTION
Datasource Class: com.ibm.as400.access.AS400JDBCDataSource
databaseName: blank
portNumber: blank
networkProtocol: blank
Other Properties: libraries=

Services I create using this connection work fine. When I try to use anything the next day, however, I get this error:

com.wm.pkg.art.error.DetailedServiceException: [ART.117.4002] Adapter Runtime (Adapter Service): Unable to invoke adapter service EKANBAN.send:lookupOrder.
[ADA.1.316] Cannot execute the SQL statement “”. "
(HY000/-99999) Internal driver error.(Connection reset by peer: socket closed)"
Internal driver error.(Connection reset by peer: socket closed)

If I disable and re-enable the connection in wM Administrator, it works for the rest of the day.

I suspect something is happening to the connection during the AS/400’s overnight processing. Is there any way I can programmatically disable and re-enable the connection, so I don’t have to do it manually?

Thanks!

Anything that you can do in the Administrator, you can find out what services are getting called by looking at the dsp file for the screen or viewing the source for the screen. I did a view source on the Adapters>JDBC Adapter>Connections screen. This showed that the /WmART/ListResources.dsp was called. I looked at the …\IntegrationServer\Packages\WmArt\ListResources.dsp. In this file you can see that the wm.art.admin.connection:setResourceState is invoked.

You can write a service to call this service twice. Once to disable the adapter and once to enable it. Then schedule this service to run whenever you want. I don’t know of any documentation on the WmArt package, but you should be able to figure it out. Also, you might ask support if there is any documentation on this package.

good Luck!

I am having the exact same problem.But the difference is we are connecting to DB2 on os/390 that this happens after a hour of inactivity .One of way of handling as you guys have is to write a service to refresh connections .Are there any other alternatives to fixing this problem?

Hello,

I tried this approach, but that particular path : wm.art.admin.connection:setResourceState is not visible to me (I get a message about not having access in a List ACL) - if this is the case, how can I invoke this service from any other service?

I am getting this issue with the JDBC adapter and am trying to determine if there is any work around.

Thank You,
Vijai

It seems to me that the WmArt package ACL is set to a user account that restricts the privledges. By default, I believe its set to “Developer”, so it was likely changed. You will need to have your system admin fix the ACLs for you to view the package.

Once you do that…here are the steps to turn the adapter on/off
First, run this service:
wm.art.admin.connection:listAllResources (no inputs required)

That will return your connection alias list.

Next, run this service:
wm.art.admin.connection:setResourceState
inputs = connectionAlias and connectionState
connectionAlias should be mapped from the output of the listAllResources service (or hardcoded).
connectionState should give you a pick list of enabled and disabled. If not, to turn it off, select or type ‘disabled’. To turn it on, select or type ‘enabled’