This documentation is for WSO2 API Manager 2.0.0. View documentation for the latest release.

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: https://support.wso2.com/jira/browse/WSODOCINTERNAL-750

When a WSO2 product starts, it starts all components, features and related artifacts bundled with it. Multi-profile support allows you to run the product on a selected profile so that only the features specific to that profile along with common features start up with the server.

Given below are the different profiles available in WSO2 API Manager.

Tip

Note the following:

  • You can start only one profile at a time.
  • Starting a product on a preferred profile only blocks/allows the relevant OSGI bundles. As a result, even if you start the server on a profile such as the api-store for example, you can still access the API Publisher web application.

    Table of Contents

    WSO2 APIM Profiles

    The following are the different profiles available in WSO2 API Manager (WSO2 APIM).

    ProfileCommand Option with Profile NameDescription
    Gateway manager
    -Dprofile=gateway-manager

    Only starts the components related to the API Gateway.

    You use this when the API Gateway acts as a manager node in a cluster. This profile starts frontend/UI features such as login as well as backend services that allow the product instance to communicate with other nodes in the cluster.

    Gateway worker
    -Dprofile=gateway-worker -DworkerNode=true    

    Only starts the components related to the API Gateway.

    You use this when the API Gateway acts as a worker node in a cluster. This profile starts the backend features for data processing and communicating with the manager node.

    Key Manager
    -Dprofile=api-key-manager

    Only starts the features relevant to the Key Manager component of the API Manager.

    Traffic Manager
    -Dprofile=traffic-manager


    Only starts the features relevant to the Traffic Manager component of the API Manager.

    The Traffic Manager helps users to regulate API traffic, make APIs and applications available to consumers at different service levels, and secure APIs against security attacks. The Traffic Manager features a dynamic throttling engine to process throttling policies in real-time, including rate limiting of API requests.

    tip

    When using this profile, make sure you configure the Traffic Manager as described in the Configuring the Traffic Manager section of the clustering documentation.

    API Publisher
    -Dprofile=api-publisher

    Only starts the front end/backend features relevant to the API Publisher.


    Developer Portal (API Store)
    -Dprofile=api-store

    Only starts the front end/backend features relevant to the Developer Portal (API Store).


    Starting an API-M profile

    1. Perform the following configurations on the profile.

      Localtab Group
      Localtab
      activetrue
      idGWM
      titleGateway Manager

      When using this profile, make sure you configure the Gateway Manager as described in the Starting the Gateway Manager section.

      Localtab
      idGWW
      titleGateway Worker

      When using this profile, make sure you configure the Gateway Worker as described in the Starting the Gateway Worker section.

      Localtab
      titleKey Manager

      Carryout the following configurations on the Key Manager node before starting the Key Manager.

      1. Open the <APIM_HOME>/repository/conf/axis2/axis2.xml file and remove the configuration section that starts with <transportSender name="ws" class="org.wso2.carbon.websocket.transport.WebsocketTransportSender">.
      2. In the <APIM_HOME>/repository/conf/api-manager.xml file, set the values of the following elements to false.

        Code Block
        languagexml
        <ThrottlingConfigurations>
        ...
        <DataPublisher>
        <Enabled>true</Enabled>
        </DataPublisher>
        ...
        </ThrottlingConfigurations>
        Code Block
        languagexml
        <ThrottlingConfigurations>
        ...
        <JMSConnectionDetails>
        <Enabled>true</Enabled>
        </JMSConnectionDetails>
        ...
        </ThrottlingConfigurations>
      Localtab
      titleTraffic Manager

      When using this profile, make sure you configure the Traffic Manager as described in the Configuring the Traffic Manager section.

      Localtab
      titlePublisher

      Carryout the following configurations on the Publisher node before starting the Publisher.

      1. Set the values of the following elements to false in the <APIM_HOME>/repository/conf/api-manager.xml file.

        Code Block
        languagexml
        <ThrottlingConfigurations>
        ...
        <DataPublisher>
        <Enabled>true</Enabled>
        </DataPublisher>
        ...
        </ThrottlingConfigurations>
        Code Block
        languagexml
        <ThrottlingConfigurations>
        ...
        <JMSConnectionDetails>
        <Enabled>true</Enabled>
        </JMSConnectionDetails>
        ...
        </ThrottlingConfigurations>
      2. Open the <APIM_HOME>/repository/conf/axis2/axis2.xml file and remove the configuration section that starts with <transportSender name="ws" class="org.wso2.carbon.websocket.transport.WebsocketTransportSender">.

      Localtab
      titleStore

      Carryout the following configurations on the Store (Developer Portal) node before starting the Store.

      1. Before starting the server, set the values of the following elements to false in the <APIM_HOME>/repository/conf/api-manager.xml file.

        Code Block
        languagexml
        <ThrottlingConfigurations>
        ...
        <DataPublisher>
        <Enabled>true</Enabled>
        </DataPublisher>
        ...
        </ThrottlingConfigurations>
        Code Block
        languagexml
        <ThrottlingConfigurations>
        ...
        <JMSConnectionDetails>
        <Enabled>true</Enabled>
        </JMSConnectionDetails>
        ...
        </ThrottlingConfigurations>
      2. Open the <APIM_HOME>/repository/conf/axis2/axis2.xml file and remove the configuration section that starts with <transportSender name="ws" class="org.wso2.carbon.websocket.transport.WebsocketTransportSender">.

    2. Carryout the following configuration changes on all the profiles with the exception of the Gateway profiles.

      1. Open the axis2.xml file and comment out the following.

        Code Block
        languagexml
        <transportSender name="ws" class="org.wso2.carbon.websocket.transport.WebsocketTransportSender">
        <parameter name="ws.outflow.dispatch.sequence" locked="false">outflowDispatchSeq</parameter>
        <parameter name="ws.outflow.dispatch.fault.sequence" locked="false">outflowFaultSeq</parameter>
        </transportSender>
      2. Delete the WebSocketInboundEndpoint.xml file from the <APIM_HOME>/repository/deployment/server/synapse-configs/default/inbound-endpoints directory

    3. Excerpt Include
      CLUSTER44x:Clustering API Manager 2.0.0
      CLUSTER44x:Clustering API Manager 2.0.0
      nopaneltrue

    4. Run the required WSO2 APIM profile.
      Execute one of the following commands

    ...

    1. based on your OS:

      Warning

      You can start only one profile at a time.

      OSCommand & Example
      Windows
      Code Block
      <PRODUCT_HOME>/bin/wso2server.bat -Dprofile=<preferred-profile> --run

      For example to start the API Store execute the following command.

      Code Block
      <APIM_HOME>/bin/wso2server.bat -Dprofile=api-store --run
      Linux/Solaris

    ...

    1. Code Block
      sh <PRODUCT_HOME>/bin/wso2server.sh -Dprofile=api-store

      For example to start the API Store execute the following command.

      Code Block
      sh <APIM_HOME><APIM_HOME>/bin/wso2server.sh -Dprofile=

    ...

    1. api-

    ...

    1. store

    How multi-profiling works

    ...