This documentation is for WSO2 API Manager 1.8.0 View documentation for the latest release.
Engage a new Throttling Policy - API Manager 1.8.0 - WSO2 Documentation
Skip to end of metadata
Go to start of metadata

The steps below show how to engage a throttling policy to an API.

Tip: For a description of throttling, see Throttling Tiers .

  1. Write your throttling policy. For example, the following sample throttling policy points to a backend service and allows 1000 concurrent requests to a service.

    <wsp:Policy xmlns:wsp=""
                <throttle:ID throttle:type="IP">other</throttle:ID>           
  2. Log in to the API Manager's management console ( https://localhost:9443/carbon ) and click the Resource > Browse menu to view the registry.
  3. Click the /_system/goverence/apimgt/applicationdata path to go to its detailed view.

  4. In the detail view, click the Add Resource link.

  5. Upload the policy file to the server as a registry resource .

  6. In the management console, select the Service Bus > Source View menu.

  7. The configurations of all APIs created in the API Manager instance opens. To engage the policy to a selected API, add it to your API definition. In this example, we add it to the login API.

    <api xmlns="" name="_WSO2AMLoginAPI_" context="/login">
        <resource methods="POST" url-mapping="/*">
                        <address uri="https://localhost:9493/oauth2/token"/>
     <handler class="org.wso2.carbon.apimgt.gateway.handlers.throttling.APIThrottleHandler">
           <property name="id" value="A"/>
           <property name="policyKey" value="gov:/apimgt/applicationdata/throttle.xml"/>
    <handler class="org.wso2.carbon.apimgt.gateway.handlers.ext.APIManagerExtensionHandler"/>

    Note: Be sure to specify the same path used in step 5 in the policy key of your API definition. Also, use the same tier name you selected when creating the API as the throttle id in the policy (example <throttle:ID throttle:type="ROLE">Gold</throttle:ID>.) 

You have successfully engaged a throttling policy to an API.

  • No labels