• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

AS400 ToolBox Question

 
Ranch Hand
Posts: 18944
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
I want to rescue a question that I found in the forum but never got answered, and I hope that somebody can give me any tip.

Thanks in advance.

Reed Peters wrote:

Hi,

I am working on an app that will call AS400 RPG programs and commands. I got it all working fine, but I don't quite understand the AS400ConnectionPool class methods.

Right now I am creating an AS400 object, setting the parms, calling an RPG program, then disconnecting from the AS400 object (service). All works fine, however, I want to maximize throughput so I believe I want to get my AS400 object from a pool of AS400 objects managed by the AS400ConnectionPool class.

What I don't understand is how best to initialize the AS400ConnectionPool. Here's some IBM documentation about it:
-----------------------------------------------
In terms of performance, connecting to the server is an expensive operation. Using a connection pool can increase performance by enabling you to use, reuse, and share existing connections instead of repeatedly connecting and disconnecting.

The AS400ConnectionPool class manages a pool of AS400 objects. The AS400JDBCConnectionPool class represents a pool of AS/400JDBCConnections that are available for use by a Java program.

A connection pool of either type keeps track of the number of connections it creates. Using methods inherited from ConnectionPool, you can set several connection pool properties, including:

the maximum number of connections that can be given out by a pool
the maximum lifetime of a connection
the maximum inactivity time of a connection
Retrieve a connection using an AS400ConnectionPool by specifying the system name, user id, the password (optional), and the service (optional).

Return connections to an AS400ConnectionPool by using the returnConnectionToPool() method.
---------------------------------------------
If I setup a connection pool using the AS400ConnectionPool methods what is the "scope" of the connection pool? Is it just for my application or is it for the entire server (web container)?

Is there a WAS administrative way of setting up the connection pool outside of my java application? Maybe something similar to the JDBC data source setup in the WAS admin application.

I hate to "hard code" these administrative functions in my java servlets.

Finally, if I just create a connection pool using the default settings and am very careful to always return my AS400 objects back to the pool when I am done with them, will everything kind of take care of themselves over time as the number of available objects plateaus out at some balanced number for the amount of work being done? (did that make sense?)

Any experiences you have had will help!

Thanks,
 
Consider Paul's rocket mass heater.
reply
    Bookmark Topic Watch Topic
  • New Topic