Skip to Content

Archived discussions are read-only. Learn more about SAP Q&A

JCo Destinations and JCo Pooling

I am confused about the documentation for JCo Destinations and JCo Pooling.

First Question:

If I use JCo native, I create a Pool and get a connection like this:

JCO.addClientPool(POOL_NAME, 5, "<client>", "<userX>", "<pwd>", "EN", "<host>", "00");

JCO.Pool connPool = JCO.getClientPoolManager().getPool(POOL_NAME);

theConnection = JCO.getClient(POOL_NAME);

so i get a Pool, that is dedicated to the userX. As I understand, it will pool connections associated to userX. If I want to propagate the users logon credentials to the backendsystem, i have to create a seperate Pool for every user.

Is this view correct ? Is there a option to have one Pool that Pools Connections for multiple diffrent users ?

Second Question:

As I understand the documentation, JCo Destinations use JCo Pools internally. If I use a JCo Destination e.g. inside WebDynpro that is set to "useSSO" (meaning propagate the dedicated User to ABAP), like this:

IWDJCOClientConnection con = WDSystemLandscape.getJCOClientConnection("<destinationName>");

will it use a seperate Pool for every user ?

So, will the Settings of the JCo destination like "Maximum Pool Size" apply to every one user? Or will it apply collective to all Users of the JCo Destination ?

Thired Question:

When will a JCo Connection (what is obtained from a Pool, either native or using JCo Destinations) timeout, if the application does not release the connection by means of releaseClient() ?

As I understand this timeout is controlled by settings in the ABAP-system and not affected by the JCo Pool at all. The setting "Connection Timeout" on basis of the Pool will only affect connections in the Pool, that are not needed - meaning the application released them.

It may be possible to affect the connection timeout from the Java side only on basis of a dedicated connection using:

theConnection.setProperty("jco.client.idle_timeout","<seconds>");

Is this view correct ? How does this idle_timeout work ?

Thank you for clearifing.

Johannes

Not what you were looking for? View more on this topic or Ask a question