As part of our business flow, BPEL calling down stream system via OSB.
However the down stream system can accept only 5 request per second.
1. Tried implementing DB poller to invoke down stream system each second with 5 records.
The flow is as follows .
DB --> Poller --> ParentBPEL --> Down Stream System
In this case Poller can able to poll 5 records from DB and push it to "DownStreamSystem" via "ParentBPEL" process.
But here the contraint is , the "DownStreamSystem" strickly can able to process only 5 requests per second.
If the "DownStreamSystem" is processed 4 request and processing 1 request at first second, then in the next second the fusion should push only 4 request . Since the number records in processing state should be 5 at a time.
Please help me out to solve this scenario or suggest me if there is any other alternative to achieve the solution.
Thanks in Advance ...
maybe throttling in the osb is of any help ?
since you really have hard specs on the "currently processed messages" you could add some coherence cache and use that as sort of lookup to see what messages are getting processed at which time. (it's just some guessing, since i don't have any experience with the situation you're describing)