There are three ways to handle the large file in Oracle SOA BPEL/OSB:
1. Route the complete file from source to destination without tranformation:
If we need to route the payload(File) to the destination based on some condition check then we can make the input file as stream. This can be achieved by checking the "Use File Streaming" check box during file adaptor creation.
Point to be noted here is we cant use the file stream for passing the payload to target after tranformation as we cant load the large file in heap memory. File stream can be used when we need to pass the file as it to other destination with/without conditinal routing.
2. Route small part the payload(file) from source to destination:
If we need to transform the smaller part of the payload then again we can use the file stream concept explain above. Only difference is we can transform the payload using XQUERY, where the transformed target payload SHOLD be small enough to load in memory.
Example: Consider there are millions of Claims records in a file, if our destination service can process only individual claims at time then we can go with this approach.
3. Transfor comple large payload before routing:
To transform complete payload before routing we can use file batch. Enter the batch size in "Publish Messages in Batches of" during adaptor creation.
Each batch will create individual instance, ie., each record will be processed in that instance.
1. Route the complete file from source to destination without tranformation:
If we need to route the payload(File) to the destination based on some condition check then we can make the input file as stream. This can be achieved by checking the "Use File Streaming" check box during file adaptor creation.
Point to be noted here is we cant use the file stream for passing the payload to target after tranformation as we cant load the large file in heap memory. File stream can be used when we need to pass the file as it to other destination with/without conditinal routing.
2. Route small part the payload(file) from source to destination:
If we need to transform the smaller part of the payload then again we can use the file stream concept explain above. Only difference is we can transform the payload using XQUERY, where the transformed target payload SHOLD be small enough to load in memory.
Example: Consider there are millions of Claims records in a file, if our destination service can process only individual claims at time then we can go with this approach.
3. Transfor comple large payload before routing:
To transform complete payload before routing we can use file batch. Enter the batch size in "Publish Messages in Batches of" during adaptor creation.
Each batch will create individual instance, ie., each record will be processed in that instance.
No comments:
Post a Comment