Tuesday, March 12, 2013

We had to throttle the end service, and following are the two approaches which came quite handy:

1. Out of the Box OSB
For the Business Service in OSB, we can configure the throttling as below. It allows us to configure concurrent threads, thread queue size, message expiration

2. HTTP Proxy Service
There could be a scenario where we don't have OSB or we don't want to use OSB to avoid piling up the request affect other important integration. The other standard approach to achieve similar thing via HTTP Proxy servlet and throttle down the number of threads to desired value and queue rest of the requests. This is involves some coding but it can be deployed on any weblogic managed server.

Create a Proxy Servlet
Instead of writing code from scratch, used com.jsos.httpproxy.HttpProxyServlet as below: