Monday, October 29, 2012

Throttling in OSB



In Oracle Service Bus, you can restrict the message flow to a business service. This technique of restricting a message flow to a business service is known as throttling. 

Limiting the concurrent requests for a Business Service cannot be set at design time so you have to use the built-in Oracle Service Bus Administration Console to do it (/sbconsole). Follow these steps to enable it:
  1. In Change Center, click Create to start a new Session
  2. Select Project Explorer, and navigate to the Business Service you want to limit
  3. Select the Operational Settings tab of the View a Business Service page
  4. In this tab, under Throttling, select the Enable check box. By enabling throttling you
    1. Specify a value for Maximum Concurrency
    2. Specify a positive integer value for Throttling Queue to backlog messages that has exceeded the message concurrency limit
    3. Specify the maximum time in milliseconds for Message Expiration a message can spend in Throttling Queue
  5. Click Update
  6. Click Active in Change Center to active the new settings
Enable Throttling
If you re-publish the service, it will not overwrite the settings. Only if the resource is renamed or moved, it will.
Please note that a throttling queue is an in-memory queue. Messages that are placed in this queue are not recoverable when a server fails or when you restart a server.

No comments:

Post a Comment