Running the Product on a Preferred Profile
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.
OS | Command |
Windows | <PRODUCT_HOME>/bin/wso2server.bat -Dprofile=<preferred-profile> --run |
Linux/Solaris |
|
Given below are the profiles available in WSO2 API Manager. They are based on the main components of API Manager.
Profile | Command Option with Profile Name | Description |
---|---|---|
Gateway manager | -Dprofile=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 | -Dprofile=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 | -Dprofile=api-key-manager | Starts only the features relevant to the Key Manager component of API Manager. |
API Publisher | -Dprofile=api-publisher | Starts only the front-end/back-end features relevant to the API Publisher Web interface. |
API Store | -Dprofile=api-store | Starts only the front-end/back-end 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.
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
files in bundles.info
directories. The <PRODUCT_HOME>/repository/components/<profile-name>/configuration/org.eclipse.equinox.simpleconfigurator
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 <profile-name>
bundles.info
file saved in <PRODUCT_HOME>/repository/components/webapp/configuration/org.eclipse.equinox.simpleconfigurator
directory.
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 bundles.info
<PRODUCT_HOME>/repository/components/plugins
directory, which is where all components/bundles of a product are saved.