cancel
Showing results for 
Search instead for 
Did you mean: 

Receiver JDBC channel "delivering" status.

0 Kudos

Hi,

Sent from SAP ERP data through a proxy to an Oracle DB, the data size is 20MB. It happens that on reaching the Receiver JDBC, the status is "Delivering" and stays for a long time. In other forums recommend configure channel parameters.

- Maximum Concurrency: 5

- poolWaitingTime: 90000

- Check "Disconnect from  Database After Processing Each Message"

- Maximum Number of Threads: 500

For data size small is successful. As might optimize performance when processing large data?

Regards,

Friman.

Accepted Solutions (0)

Answers (5)

Answers (5)

0 Kudos

Hi,

Thanks you all for your reply.

These links helped me a lot:

/community/pi-and-soa-middleware/blog/2012/12/14/decoding-max-concurrency-poolwaittime-driver-properties-in-jdbc-receiver-adapter-configuration

/community/pi-and-soa-middleware/blog/2011/01/26/tuning-the-pi-messaging-system-queues

Also optimize the stored procedure because in the DB INSERT takes a long time.

Regards,

Friman.

Former Member
0 Kudos

Hi,

Have you increased the JDBC_Receiver thread count in the Adapter engine ?

if not increase the same and check it out..

Also what is the processing time adapter thread is taking ?

Check if there are any other jdbc channels preventing the access to this jdbc channel thread..

As said already you can look out the options for multiple server nodes for performance improvement..

HTH

Rajesh

Former Member
0 Kudos

When it says "Delivering", does it ever time out and fail with an error message? I am just wondering what the state of the transaction is ending or if it still believes its making progress.

smavachee
Active Contributor
0 Kudos

Hello Friman,

Also carried out below steps..

1) Checked "Disconnect from Database After Processing Each Message" in channel's configuration

2) Cancel error messages in message monitoring

3) Kill all open connections

4) Execute the interface again

Regards,

Sunil M

0 Kudos

Hi Sunil, thanks for your answer.

I did all these steps before each test and still have the same problem. What I now realize is optimize JDBC Receiver Channel.

Regards,

Friman.

baskar_gopalakrishnan2
Active Contributor
0 Kudos

I personally think your message size is pretty larger and the steps you have followed above will be helpful for only some extent. You can split the message size into smaller and see how that helps. Increasing the performance requires various steps. You might increase the hardware spec, assign special queue for this interface. Take help from Basis. Finally, You might also consider using Stored Procedure which would help better in perfomance.

0 Kudos

Hi Baskar, thanks for your answer.

We are using a Stored Procedure. The Integration Engine send to JDBC Receiver Channel the data in XML format and this runs el Stored Procedure which is responsible for keeping in a table.

Regards,

Friman.

Former Member
0 Kudos

Hello,

Pass ur entire data in a form of XML string and let SP parse that XML string and perform DB operations.

It's one of the most efficient way when u are dealing with large message size messages, but i still think 20 MB is not very huge, anyway u can try using above approach and see the results

Thanks

Amit Srivastava

nabendu_sen
Active Contributor
0 Kudos

Hi Friman,

Try to go through the below blog (Total 6 Parts) carefully and enhance your target Database performance:

http://scn.sap.com/community/pi-and-soa-middleware/blog/2012/09/24/jdbc-receiver-scenarios-best-prac...

0 Kudos

Hi Nabendu, thanks for your answer.

Interesting blog, thanks for sharing.

My problem is more in the Adapter Engine, as the delay is when the Channel Receiver processes the data passing status "delivering" and delayed too long time to process a 10MB file. Ideally, configure the JDBC Receiver Channel so you can process large messages as quickly as possible.

Regards,

Friman.