When a WSO2 product server starts, it starts all features and related artifacts bundled in the product. Multi-profile support allows you to run the product on a selected profile so that only features specific to that profile along with common features start up with the server. This enables better resource utilization.
Execute one of the following commands to start a product on a preferred profile.
<PRODUCT_HOME>/bin/wso2server.bat -Dprofile=<preferred-profile> --run
Given below are the profiles available in WSO2 API Manager. They are based on the main components of API Manager.
|Gateway manager||Used when the API Gateway acts as a manager node in a cluster. This profile starts front-end/UI features such as login as well as back-end services that allow the product instance to communicate with other nodes in the cluster.|
|Gateway worker||Used when API Gateway acts as a worker node in a cluster. This profile only starts the back-end features for data processing and communicating with the manager node.|
|Key Manager||Starts only the features relevant to the Key Manager component of API Manager.|
|API Publisher||Starts only the front-end/back-end features relevant to the API Publisher Web interface.|
|API Store||Starts only the front-end/back-end features relevant to the API Store Web interface.|
How multi-profiling works
Starting a product on a preferred profile starts only a subset of features bundled in the product. In order to identify what feature bundles apply to which profile, each product maintains a set of
bundles.info files contain references to the actual bundles. Note that
in the directory path refers to the name of the profile. For example, when there's a product profile named webapp, references to all the feature bundles required for webapp profile to function are in a
bundles.info file saved in
Note that when you start the server without using a preferred profile, the server refers to
<PRODUCT_HOME>/repository/components/default/configuration/org.eclipse.equinox.simpleconfigurator/ file by default. This file contains references to all bundles in
<PRODUCT_HOME>/repository/components/plugins directory, which is where all components/bundles of a product are saved.