cancel
Showing results for 
Search instead for 
Did you mean: 

SFTP - RequestResponseBean. Message is processed in Serial?

01-19-2020 4:12 PM
suwandi_cahyadi Contributor
1163 views 3 comments
0 Likes
SAP Managed Tags
Subscribe

Hi,

I have an sender SFTP channel configured with RequestResponseBean. The modules are configured in the following order:

  1. AF_Modules/RequestResponseBean
  2. localejbs/CallSapAdapter
  3. AF_Modules/ResponseOnewayBean

Here are the parameters configured:

  • passThrough = true
  • receiverChannel = [name of the response receiver channel]
  • receiverService = [name of the response receiver service]

Now, I have 5 files in the folder. When the channel is started to process those 5 files, I thought those 5 files could be sent and processed in parallel (just like how normal SFTP channel behave). But I observe the log that the channel will only process the next file after processing the previous file is finished:

Notice the around 10 second interval in the red rectangle, 10 second is the approximate time to process 1 message. Only after 10 seconds the next message is processed.

Seems like it is waiting to receive the response first before continue processing the next file. Is this the behavior of a sender synchronous channel (cannot process multiple messages in parallel)? Or is this the behavior of RequestResponseBean module?

My 2 cents is because after the localejbs/CallSapAdapter run, the next module which is AF_Modules/ResponseOnewayBean, is still blocking the process by waiting for the response, that's why the channel cannot continue to process the next file? Is there a way to make it process multiple files in parallel?

Thank you.

0 Likes

Accepted Solutions (0)

Answers (1)

Answers (1)

former_member608139
Active Participant
0 Likes

You could try this approch if the parallel process is necessary:

Go to NWA in Java System properties->Services and select the XPI Service: AF Core and the property "messaging.connectionDefinition" :

You can configure the max worker count values according to your specific needs, using the "messaging.connectionDefinition" property of the "SAP XI AF Core" service. Using the "name=global" entry some global template settings are defined. For each adapter type these defaults can be individually overwritten, by adding additional configuration entries, according to the follwing syntax:

messaging.connectionDefinition=(name=global,...)(name=<AdapterTypeIdentifier>, Send.maxConsumers=<a>, Recv.maxConsumers=<b>, Call.maxConsumers=<c>, Rqst.maxConsumers=<d>)

with <AdapterTypeIdentifier>=<AdapterType>_<Namespace>
(e.g.: File_http://sap.com/xi/XI/System)

ALLERT: Do this if the parallel process is realy necessary