When a WSO2 product starts, it starts all features and related artifacts bundled with it. 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.
Given below are the different profiles available in WSO2 API Manager.
|Profile||Command Option with Profile Name||Description|
|Used 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.|
|Used when API Gateway acts as a worker node in a cluster. This profile only starts the backend features for data processing and communicating with the manager node.|
|Starts only the features relevant to the Key Manager component of API Manager.|
|Starts only the front end/backend features relevant to the API Publisher Web interface.|
|Starts only the front end/backend features relevant to the API Store Web interface.|
Note that the WSO2 products platform currently doesn't block/allow Web applications depending on profiles. 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 will still be able to access the API Publisher Web application.
Execute the following commands to start a product on any profile:
<PRODUCT_HOME>/bin/wso2server.bat -Dprofile=<preferred-profile> --run
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.