cancel
Showing results for 
Search instead for 
Did you mean: 

J2EE Adapter Engine hanging

Former Member
0 Kudos

Hi all,

Can anybody please assist me. I am experiencing the follow problem:

Our JDBC Sender Adapters threads are set to 30, but still occassionally all 30 threads are used and then the Adapter Engine hangs. Is there a way we can release the thread once the Adapter has failed the maximum retrying times?

Regards,

CJ Bester

Accepted Solutions (0)

Answers (4)

Answers (4)

RaghuVamseedhar
Active Contributor
0 Kudos

Hi CJ Bester,

As all your adapters are set to u201CDisconnect from Database After Processing Each Messageu201D. You can try this option. u2018poolWaitingTimeu2019 may be set to an optimal value (please enable the "Advanced Mode" for the respective JDBC communication channel). This should be more or less equal to time required to acquire a connection on a remote DB/FTP. If this is not known set this to 1 min(60000 Milli Secs). This will ensure if channel cannot get the DB connection with in the time specified then after 3 retries the thread will be released for other channels and message back-log can be reduced.

Or. SAP Note 831162. Q: During JDBC receiver message processing I see that some messages are in "delivering" state forever. How do I solve this?

A: Please set the receiver channel configuration Exactly Once handling parameters as "local" and "redo". The configuration setting "local" and "error" setting is sometimes prone to deadlock situations at the DB table level.24.

Regards,

Raghu_Vamsee

Former Member
0 Kudos

Hi all,

Thanks for your quick replies on my question.

Hi Srinivas unfortunately we are still using XI 3.0 SP 23.

Hi Raghu_Vamsee I had a look and all our adapters are set to u201CDisconnect from Database After Processing Each Messageu201D the problem comes when we are experiencing a mass of connection failures to the different DBu2019s, once that happens the adapters does not release the threads which then causes the Adapter Engine to hang.

Regards,

CJ Bester

Former Member
0 Kudos

Hi

Can you try fine tuning PI server,you can get it cheked by PI adminstrator .Based on the expected message sizes , server sizing and thread allocation should happen.In order to solve present problem and to ensure no similar problems come up in

future , would suggest you to have a look at the PI fine tuning guide.

You can refere this guide

http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/2016a0b1-1780-2b10-97bd-be3ac6221...

Best Regards,

Srinivas

Former Member
0 Kudos

Hi Srinivas

Thanks for the document on how to fine tune XI/PI this will help with some of our interfaces but it still doe not slove the problem with the threads not releasing when the jdbc adapters experience a connection time out.

Regards,

CJ Bester

RaghuVamseedhar
Active Contributor
0 Kudos

Hi CJ Bester,

I understand occasionally all 30 JDBC threads are getting used up.

To solve this issue here some options with you,

1.In all JDBC communicational channels, Defining Additional Parameters in Advanced Mode, select u201CDisconnect from Database After Processing Each Messageu201D.[Link1|http://help.sap.com/saphelp_nwpi711/helpdata/en/7e/5df96381ec72468a00815dd80f8b63/frameset.htm] . This way sender channels will not unnecessarily use JDBC treads when they are required. Recommended .

Note that this might put additional load on your DBMS due to the creation of a new database connection for each message for high frequency polling channels (less then 60sec).

2.If possible increase the JDBC thread count.

3.SAP Note 831162 [Link2|https://websmp206.sap-ag.de/notes] After configuring a large amount of JDBC Adapter sender channels, the J2EE Engine becomes very slow and some services start to block. How can I solve this issue?

A: Up to and including XI 3.0 SP13 each JDBC Adapter sender channel permanently consumes a J2EE application thread. To solve this issue, increase the number of configured J2EE application threads using the SAP J2EE Engine Config Tool ("cluster-data" -> "Global server configuration" -> "managers" -> "ApplicationThreadManager"-> "MaxThreadCount"). Starting with XI 3.0 SP14 application threads are allocated on demand by the JDBC Adapter and returned to the thread pool after it has finished the polling sequence, so thread shortage situations will typically occur much more rarely than with earlier SPs.

Regards,

Raghu_Vamsee

Former Member
0 Kudos

Hello,

Try doing the message prioritization ,if you are on PI 7.1 then you can find the below mentioned guide very useful.

http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/60832bd5-f4ff-2b10-8080-c8da8c6dbe8e

Best Regards

Srinivas