Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

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.

Tip

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.

Info
titleOSGI Bundle

OSGI bundle is a tightly coupled, dynamically loadable collection of classes, jars, and configuration files that explicitly declare their external dependencies (if any). In OSGi, a bundle is the primary deployment format. Bundles are applications that are packaged in JARs, and can be installed, started, stopped, updated, and removed.

Table of Contents

API-M Profiles

...

  1. Perform the following configurations on the profile.

    Localtabgroup
    Localtab
    activetrue
    idGWW
    titleGateway Worker

    When using this profile, make sure you configure the Gateway Worker as described in Configuring the Gateway in a Distributed Environment with rsync.

    Localtab
    titleKey Manager

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

    1. Open the <API-M_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 <API-M_HOME>/repository/conf/api-manager.xml file, set the values of the following elements to false.

      Code Block
      languagexml
      <ThrottlingConfigurations>
      ...
      <DataPublisher>
      <Enabled>false</Enabled>
      </DataPublisher>
      ...
      </ThrottlingConfigurations>
      Code Block
      languagexml
      <ThrottlingConfigurations>
      ...
      <JMSConnectionDetails>
      <Enabled>false</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.

    To disable registry indexing when setting up the Traffic Manager, see Registry indexing configurations.

    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 <API-M_HOME>/repository/conf/api-manager.xml file.

      Code Block
      languagexml
      <ThrottlingConfigurations>
      ...
      <DataPublisher>
      <Enabled>false</Enabled>
      </DataPublisher>
      ...
      </ThrottlingConfigurations>
      Code Block
      languagexml
      <ThrottlingConfigurations>
      ...
      <JMSConnectionDetails>
      <Enabled>false</Enabled>
      </JMSConnectionDetails>
      ...
      </ThrottlingConfigurations>
    2. Open the <API-M_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 <API-M_HOME>/repository/conf/api-manager.xml file.

      Code Block
      languagexml
      <ThrottlingConfigurations>
      ...
      <DataPublisher>
      <Enabled>false</Enabled>
      </DataPublisher>
      ...
      </ThrottlingConfigurations>
      Code Block
      languagexml
      <ThrottlingConfigurations>
      ...
      <JMSConnectionDetails>
      <Enabled>false</Enabled>
      </JMSConnectionDetails>
      ...
      </ThrottlingConfigurations>
    2. Open the <API-M_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 <API-M_HOME>/repository/deployment/server/synapse-configs/default/inbound-endpoints directory.
  3. Multiexcerpt include
    MultiExcerptNameRequired Webapps
    PageWithExcerptDeploying WSO2 API-M in a Distributed Setup

  4. Multiexcerpt
    MultiExcerptNameremovejaggery

    Make sure to keep the required Jaggery apps and remove the unnecessary Jaggery apps from the  <API-M_HOME>/repository/deployment/server/jaggeryapps directory of each node.

    The following are the Jaggery apps that are required for each node:

    Profile
    Required Jaggery apps
    Gateway WorkerNone
    Key ManagerNone
    Traffic ManagerNone
    Publisherpublisher, admin
    StoreNonestore
  5. Run the required API-M profile.
    Execute one of the following commands 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
    <API-M_HOME>/bin/wso2server.bat -Dprofile=api-store --run
    Linux/Solaris
    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 <API-M_HOME>/bin/wso2server.sh -Dprofile=api-store

...