cancel
Showing results for 
Search instead for 
Did you mean: 

JDBC Problem in a Productive Sys!!!

Former Member
0 Kudos

Hi guys

Our client has some async jdbc interfaces and the database is located in a WAN, (this is an IBM DB2/UDB - Windows). The problem happens when there is lost of network connectivity for a small time. So when it happens, the jdbc loose the connection to the DB2 and is unable to reconnect to the database to reprocess the messages which are waiting to be read.

This is happening in a productive system and the client is becoming a little bit worried!!!

The only way to see this problem is in Adapter Monitor, when the polling interval started is too long (few hours instead of seconds (normal behavior)). The “workaround” that we have is a j2ee soft shutdown with restart. But this is not a good solution…

Anyone knows what’s happening? Ideas and better workarounds are appreciated

Thanks in advance.

Regards,

Ricardo.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi ricardo,

I am not sure if I understood your problem correctly.

Here my suggestion:

Use BPM! Create an exception branch for system errors.

If the JDBC is not available, the BPM will jump in the exception branch. In the exception branch create a wait step. After waiting for a while send the message again in this wait step!

See also my answers in

Regards Mario

Former Member
0 Kudos

Hi Mario,

The problem is that XI doesn’t get any error from jdbc!!! It stays in waiting status until we do a restart of j2ee…

The work around is create a BPM with a send step and in the send step we use an exception after a waiting step? This is possible?

Thanks in advance,

Regards,

Ricardo.

moorthy
Active Contributor
0 Kudos

Is this problem is in the Receiver JDBC adapter ?

If so , you can think of BPM . but it will allow you to send the error message.

Try to increase the Retry mode and check it. Also analyse the Visual Admin log for the Jdbc chhanel. If it is a Network problem, thn i don't think so, workaround is a solution.

To check how to set up Retry -

/people/sap.user72/blog/2005/11/29/xi-how-to-re-process-failed-xi-messages-automatically

Regards,

moorthy

bhavesh_kantilal
Active Contributor
0 Kudos

Hi,

Disconnect from Database for each message processing should do the trick.

http://help.sap.com/saphelp_nw04/helpdata/en/7e/5df96381ec72468a00815dd80f8b63/content.htm

<i>Set this indicator if the database connection is to be released and reestablished before every poll interval.</i>

Regards,

Bhavesh

Former Member
0 Kudos

Hi Bhavesh,

I already have checked this option "Disconnect from Database for each message processing" and it doesn't work...

Any ideas?

Thanks in advance.

Regards,

Ricardo.

Former Member
0 Kudos

Hi again Mario,

Thanks for your idea.

Can you explain a bit more as i have not worked on the BPM much.

Tell me if I'm right:

1 - receiver step

2 - block

3 - where I can put the send step?

4 - where I can put the wait step?

How can I define the Exception Handler?

Thanks a lot.

Regards,

Ricardo.

bhavesh_kantilal
Active Contributor
0 Kudos

Ricardo,

This is what you would need is you are looking at the BPM,

1. Receive

2. Block --> Send Step inside this block.

3. Exception Handler for the Block of Step 2. DO the required Exception handling as per requirements inside the Exception Handler block.

http://help.sap.com/saphelp_nw04/helpdata/en/33/4a773f12f14a18e10000000a114084/content.htm

Regards,

Bhavesh

Former Member
0 Kudos

Hi Bhavesh,

<i>DO the required Exception handling as per requirements inside the Exception Handler block.</i>

Is in second line (step 2) that I have to put the wait step?

What I need to put into the field "Exception Handler"?

Note: The exception only should be triggered when the wait step is finish the time without send step concluded successfully.

Thanks and regards,

Ricardo.

Message was edited by: Ricardo Quintino

Message was edited by: Ricardo Quintino

bhavesh_kantilal
Active Contributor
0 Kudos

Hi,

Take a look at the SAP BASIS Componenet --> Patterns -->

BpmPatternReqRespAlert

BpmPatternReqRespTimeOut

Regards,

Bhavesh

Former Member
0 Kudos

Hi Bhavesh,

I'm doing the BPM.

I define a receiver step, after that a block with two branches, there I put the sender step and in second line I put the control step that throws an exception. My question is: How can define a timeout for the sender step? Because the objective is: when the sender step wastes more than 10 min it should throws an exception.

Thanks a lot for your help.

Regards,

Ricardo.

Message was edited by: Ricardo Quintino

Answers (0)