on 11-09-2010 1:17 PM
Hello Together,
currently we have the following problem in our PI environment. We have many JDBC Communication channels in place in different scenarios and some of that channels have also a high load on it (but not a continous load - more a peak load sometimes a day/week).
Technical details:
Oracle JDBC driver 10.2.0.4.0 (released feb 2010)
PI: 7.1103 and XI 3.0 SP20
Therefore we want use MaximumConcurrency parameter conbined with poolWaitingTime and taskTimeout parameter. But nevertheless we do not(!) want, that the JDBC connections are hold forever once they are initiated by an incoming/outgoing message.
We are not able setting something like SQLNET.EXPIRE_TIME on server Listener side, because some of them are running ABAP systems which handle their connection by themself.
Have anyone experiences/ideas or can access source code of JDBC channel ressource configuration for Oracle databases for XI3.0 - PI7.1. I think/hope that there exists somwhere in the world an parameter which I could use in extended parameter section inside the communication channel configuration ?!
Further it's not clear to me, why it is not possible to use connection pooling for JDBC channels. On a connection pool it is easily to set a timeout parameter for idle connections.
I'm waiting for your answers.
Regards,
Andreas
can you check if the below helps;
SAP Note 791379 - xiadapter.inbound.timeout.default within the SAP XI Adapter: XI J2EE service
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Dear Shabarish,
no this OSS(#791379) is not a solution:
[...]
The "timeout" property is only relevant for synchronous messages. This time specifies how long the messaging system waits for a response during synchronous communication. If this time elapses, a "MessageExpired" exception is triggered.
[...]
In my case asynchronous communication is used.
Thanks nevertheless.
Hi,
did you consider the option "disconnect from database after each message processing" in the channel?
also is there any specific reason you dont want to use taskTimeout parameter.. one issue is with the sennder channels as mentioned here Note 1500791 - JDBC sender adapter causes update of DB after timeout. but this is fixed..
regards,
francis
Hello Francis,
that's not a valid option for us. Most of the messages are very small and it does not make sense to execute the login and session handshake for every message. This will slow down the message execution dramaticly.
Thanks for the hint with the note (we already had seen this one).
Best regards,
Andreas
Try on Advanced parameters of the Communication Channel.
you can use in Advance Mode
Name Value
driver:oracle.net.CONNECT_TIMEOUT 5000
driver:oracle.jdbc.ReadTimeout 30000
For Oracle Driver, for connection and read timeout with Value on milliseconds.
I'm looking for SQL Server parameters.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
88 | |
10 | |
10 | |
9 | |
7 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.