JCo Destinations and JCo Pooling
I am confused about the documentation for JCo Destinations and JCo Pooling.
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 ?
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 ?
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:
Is this view correct ? How does this idle_timeout work ?
Thank you for clearifing.