Oracle Service Bus: transport thread blocking evidences by Fabio Mazanatti
January 16, 2018 Leave a comment
The common case scenario for a service exposed via Oracle Service Bus is to receive a message, validate/enrich/transform it, call a service provider and then do some additional work with the response from the provider before returning it to the caller. The initial steps are grouped inside a request pipeline; the message then goes through a route to the provider, and the final processing is done by a response pipeline before sending it back to the caller:
Usual structure of an OSB service
The threading model used by Oracle Service Bus states that the request pipeline must execute on a thread (the Inbound Request Message Thread) and the response pipeline must use another thread to process the response (properly named the Outbound Response Message Thread). The route is done by a transport provider, which can or cannot use the request thread to wait for the provider’s response.
When the transport holds the request thread until it gets a response, it is called a blocking transport. Conversely, if the transport puts the call and releases the thread, it’s called a non-blocking transport. Some of the transports are listed below, with info about their support to non-blocking calls: Read the complete article here.
For regular information on Oracle SOA Suite become a member in the SOA & BPM Partner Community for registration please visit www.oracle.com/goto/emea/soa (OPN account required) If you need support with your account please contact the Oracle Partner Business Center.
Blog
Twitter
LinkedIn
Facebook
Wiki
Technorati Tags: SOA Community,Oracle SOA,Oracle BPM,OPN,Jürgen Kress
