This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, visit https://wso2.com/documentation/.

Configuring carbon.xml

Users can change the configurations related to the default Carbon functionality by editing the  <PRODUCT_HOME>/repository/conf/carbon.xml file using the information given below.

 Click on the table and use the left and right arrow keys to scroll horizontally. 

XML Elements 

XML elementAttributeDescriptionData typeDefault valueMandatory/OptionalSample
<Server>      
  xmlns     

_<Name>

 Product Name.StringN/AMandatory<Name>WSO2 Application Server</Name>
_<ServerKey> Machine readable unique key to identify each product.StringN/AMandatory<ServerKey>AS</ServerKey>
_<Version> Product Version.StringN/A <Version>5.2.0</Version>
_<HostName> Host name or IP address of the machine hosting this server e.g. www.wso2.org, 192.168.1.10 This is will become part of the End Point Reference of the services deployed on this server instance.StringN/AOptional<HostName>wso2.org</HostName>
_<MgtHostName> Host name to be used for the Carbon management console.StringN/AOptional <MgtHostName>mgt.wso2.org</MgtHostName>
_<ServerURL> The URL of the back end server. This is where the admin services are hosted and will be used by the clients in the front end server. This is required only for the Front-end server. This is used when separating the BE server from the FE server.StringN/AMandatory<ServerURL>local:/${carbon.context}/services/</ServerURL>
_<IndexPageURL> The URL of the index page. This is where the user will be redirected after signing in to the carbon server.StringN/AOptional 
_<ServerRoles> For cApp deployment, we have to identify the roles that can be acted by the current server. The following property is used for that purpose. Any number of roles can be defined here. Regular expressions can be used in the role. Ex : <Role>.*</Role> means this server can act as any role.StringN/AMandatory<ServerRoles>ApplicationServer</ServerRoles>
__<Role>      
_<BamServerURL>      
_<Package> The fully qualified name of the server.Stringorg.wso2.carbonMandatory 
_<WebContextRoot> Webapp context root of WSO2 Carbon.String/Mandatory<WebContextRoot>/</WebContextRoot>
_<RegistryHttpPort> In-order to get the registry http Port from the back-end when the default http transport is not the same.IntN/AOptional 
_<ItemsPerPage> Number of items to be displayed on a management console page. This is used at the backend server for pagination of various items.IntN/AMandatory 
_<InstanceMgtWSEndpoint> The endpoint URL of the cloud instance management Web service.StringN/AOptional 
_<Ports> Ports used by this server    
__<Offset> Ports offset. This entry will set the value of the ports defined below to the define value + Offset. e.g. Offset=2 and HTTPS port=9443 will set the effective HTTPS port to 9445.Int0Mandatory<Offset>15</Offset>
__<JMX> The JMX Ports.Int Mandatory 
____<RMIRegistryPort> The port RMI registry is exposed.Int9999Mandatory 
____<RMIServerPort> The port RMI server should be exposed.Int11111Mandatory 
__<EmbeddedLDAP> Embedded LDAP server specific ports.Int Mandatory 
____<LDAPServerPort> Port which embedded LDAP server runs.Int10389Mandatory 
____<KDCServerPort> Port which KDC (Kerberos Key Distribution Center) server runs.Int8000Mandatory 
__<EmbeddedQpid> Embedded Qpid broker ports.Int Mandatory 
____<BrokerPort> Broker TCP Port.Int5672Mandatory 
____<BrokerSSLPort> SSL Port.Int8672Mandatory 
__<JNDIProviderPort> Override datasources JNDIproviderPort defined in bps.xml and datasources.properties files.    
__<ThriftEntitlementReceivePort> Override receive port of thrift based entitlement service.IntN/AMandatory 
_<JNDI> JNDI Configuration.IntN/AOptional 
__<DefaultInitialContextFactory> The fully qualified name of the default initial context factory.Stringorg.wso2.carbon.tomcat.jndi.CarbonJavaURLContextFactoryMandatory 
_<Restrictions> The restrictions that are done to various JNDI Contexts in a Multi-tenant environment.    
___<AllTenants> Contexts that are common to all tenants.StringN/AOptional 
_____<UrlContexts>      
_______<UrlContext>      
_________<Scheme>      
__<SuperTenantOnly>
__<UrlContexts>
__<UrlContext> _____
__<Scheme>
 Contexts that will be available only to the super-tenant.StringN/AOptional 
_<IsCloudDeployment> Property to determine if the server is running on a cloud deployment environment. This property should only be used to determine deployment specific details that are applicable only in a cloud deployment, i.e when the server is deployed *-as-a-service.BooleanFALSEMandatory 
_<EnableMetering> Property to determine whether usage data should be collected for metering purposes.BooleanFALSEMandatory 
_<MaxThreadExecutionTime> The Max time a thread should take for execution in seconds.Int600Mandatory 
_<GhostDeployment> A flag to enable or disable Ghost Deployer. By default this is set to false. That is because the Ghost Deployer works only with the HTTP/S transports. If you are using other transports, don't enable Ghost Deployer.BooleanFALSEOptional 
___<Enabled> When <GhostDeployment> is enabled, the lazy loading feature will apply to artifacts deployed. That is, when a tenant loads, only the specific artifact requested by the service will be loaded.    
___<PartialUpdate> <PartialUpdate> is a further enhancement to lazy loading of artifacts, which applies when <DeploymentSynchronizer> is enabled in a clustered environment.    
_<Axis2Config> Axis2 related configurations.    
___<RepositoryLocation> Location of the Axis2 Services & Modules repository This can be a directory in the local file system, or a URL. e.g. 1. /home/wso2wsas/repository/ - An absolute path 2. repository - In this case, the path is relative to CARBON_HOME 3. file:///home/wso2wsas/repository/ 4. http://wso2wsas/repository/.String${carbon.home}/repository/deployment/server/Mandatory 
___<DeploymentUpdateInterval> Deployment update interval in seconds. This is the interval between repository listener executions.Int15Mandatory 
___<ConfigurationFile> Location of the main Axis2 configuration descriptor file, a.k.a. axis2.xml file This can be a file on the local file system, or a URL e.g. 1. /home/repository/axis2.xml - An absolute path 2. conf/axis2.xml - In this case, the path is relative to CARBON_HOME 3. file:///home/carbon/repository/axis2.xml 4. http://repository/conf/axis2.xmlString${carbon.home}/repository/conf/axis2/axis2.xmlMandatory 
___<ServiceGroupContextIdleTime> ServiceGroupContextIdleTime, which will be set in ConfigurationContex for multiple clients which are going to access the same ServiceGroupContext Default Value is 30 Sec.String30000Mandatory 
___<ClientRepositoryLocation> This repository location is used to crete the client side configuration context used by the server when calling admin services.String${carbon.home}/repository/deployment/client/Mandatory 
___<clientAxis2XmlLocation> This axis2 xml is used in creating the configuration context by the FE server calling to BE server.String${carbon.home}/repository/conf/axis2/axis2_client.xmlMandatory 
___<HideAdminServiceWSDLs> 

If this parameter is set, the WSDL file on an admin service will not give the admin service WSDL. By default, this parameter is set to "true". Note that setting this parameter to false will expose WSO2 Storage Server operations through a WSDL. 

StringTRUEMandatory 
___<HttpAdminServices> WARNING-Use With Care! Uncommenting bellow parameter would expose all AdminServices in HTTP transport. With HTTP transport your credentials and data routed in public channels are vulnerable for sniffing attacks. Use this parameter ONLY if your communication channels are confirmed to be secured by other means.StringN/AOptional 
_<ServiceUserRoles> The default user roles which will be created when the server is started up for the first time.StringadminMandatory 
_<EnableEmailUserName> Enable following config to allow Emails as usernames.Boolean Optional 
_<Security> Security configurations.    
__<KeyStore> KeyStore which will be used for encrypting/decrypting passwords and other sensitive information.String Mandatory 
____<Location> Keystore file location.String${carbon.home}/repository/resources/security/wso2carbon.jksMandatory 
____<Type> Keystore type (JKS/PKCS12 etc.)StringJKSMandatory 
____<Password> Keystore password.Stringwso2carbonMandatory 
____<KeyAlias> Private Key alias.Stringwso2carbonMandatory 
____<KeyPassword> Private Key password.Stringwso2carbonMandatory 
__<TrustStore> System wide trust-store which is used to maintain the certificates of all the trusted parties.String Mandatory 
_____<Location> Trust-store file location.String${carbon.home}/repository/resources/security/client-truststore.jksMandatory 
_____<Type> Trust-store type.StringJKSMandatory 
_____<Password> Trust-store password.Stringwso2carbonMandatory 
__<NetworkAuthenticatorConfig> The Authenticator configuration to be used at the JVM level. We extend the java.net.Authenticator to make it possible to authenticate to given servers and proxies.StringN/AOptional 
___<Credential>  StringN/AOptional 
___<Pattern> The pattern that would match a subset of URLs for which this authenticator would be used.StringN/AOptional 
___<Type> The type of this authenticator. Allowed values are: 1. server 2. proxy.StringN/AOptional 
___<Username> The username used to log in to server/proxy.StringN/AOptional 
___<Password> The password used to log in to server/proxy.StringN/AOptional 
__<TomcatRealm> The Tomcat realm to be used for hosted Web applications. Allowed values are; 1. UserManager 2. Memory If this is set to 'UserManager', the realm will pick users & roles from the system's WSO2 User Manager. If it is set to 'memory', the realm will pick users & roles from CARBON_HOME/repository/conf/tomcat/tomcat-users.xml.StringUserManagerMandatory 
__<DisableTokenStore> Option to disable storing of tokens issued by STS.BooleanFALSEOptional 
__<TokenStoreClassName> Security token store class name. If this is not set, default class will be org.wso2.carbon.security.util.SecurityTokenStoreStringN/AOptional 
_<WorkDirectory> The temporary work directory.String${carbon.home}/tmp/workMandatory 
___<HouseKeeping> House-keeping configuration.String Mandatory 
___<AutoStart> True - Start House-keeping thread on server startup false - Do not start House-keeping thread on server startup. The user will run it manually as and when he wishes.BooleanTRUEMandatory 
___<Interval> The interval in *minutes*, between house-keeping runs.Int10Mandatory 
___<MaxTempFileLifetime> The maximum time in *minutes*, temp files are allowed to live in the system. Files/directories which were modified more than "MaxTempFileLifetime" minutes ago will be removed by the house-keeping task.Int30Mandatory 
_<FileUploadConfig> Configuration for handling different types of file upload and other file uploading related config parameters. To map all actions to a particular FileUploadExecutor, use <Action>*</Action>.String Mandatory 
__<TotalFileSizeLimit> The total file upload size limit in MB.Int100Mandatory 
__<Mapping>  StringN/AMandatory 
_____<Actions>  StringN/AMandatory 
_______<Action>  StringN/AMandatory<Action>jarZip</Action>
_____<Class>  StringN/AMandatory<Class>org.wso2.carbon.ui.transports.fileupload.JarZipUploadExecutor</Class>
_<HttpGetRequestProcessors> Processors which process special HTTP GET requests such as ?wsdl, ?policy etc. In order to plug in a processor to handle a special request, simply add an entry to this section. The value of the Item element is the first parameter in the query string(e.g. ?wsdl) which needs special processing The value of the Class element is a class which implements org.wso2.carbon.transport.HttpGetRequestProcessorStringN/AMandatory 
___<Processor>  StringN/AMandatory 
_____<Item>  StringN/AMandatory 
_____<Class>  StringN/AMandatory 
_<DeploymentSynchronizer>  Deployment Synchronizer Configuration. Enabled when running with "svn based" dep sync. In master nodes you need to set both AutoCommit and AutoCheckout to true and in worker nodes set only AutoCheckout to true.StringN/AOptional 
___<Enabled>  Boolean   
___<AutoCommit>  Boolean   
___<AutoCheckout>  Boolean   
___<RepositoryType>  String  <RepositoryType>svn</RepositoryType>
___<SvnUrl>  String  <SvnUrl>http://svnrepo.example.com/repos/</SvnUrl>
___<SvnUser>  String   
___<SvnPassword>  String   
___<SvnUrlAppendTenantId>  Boolean   
_<MediationConfig> _
_<LoadFromRegistry>
_<SaveToFile>
_<Persistence> _
_<RegistryPersistence>
 Mediation persistence configurations. Only valid if mediation features are available i.e. ESB.StringN/AOptional 
_<ServerInitializers> Server intializing code, specified as implementation classes of org.wso2.carbon.core.ServerInitializer. This code will be run when the Carbon server is initialized.StringN/AOptional 
___<Initializers>      
_<RequireCarbonServlet> Indicates whether the Carbon Servlet is required by the system, and whether it should be registered.BooleanN/AMandatory 
__<H2DatabaseConfiguration>
__<Property name>
 Carbon H2 OSGI Configuration By default non of the servers start. name="web" - Start the web server with the H2 Console name="webPort" - The port (default: 8082) name="webAllowOthers" - Allow other computers to connect name="webSSL" - Use encrypted (HTTPS) connections name="tcp" - Start the TCP server name="tcpPort" - The port (default: 9092) name="tcpAllowOthers" - Allow other computers to connect name="tcpSSL" - Use encrypted (SSL) connections name="pg" - Start the PG server name="pgPort" - The port (default: 5435) name="pgAllowOthers" - Allow other computers to connect name="trace" - Print additional trace information; for all servers name="baseDir" - The base directory for H2 databases; for all servers.StringN/AOptional 
_<StatisticsReporterDisabled> Disables the statistics reporter by default.StringN/AMandatory 
__<EnableHTTPAdminConsole> Enables HTTP for WSO2 servers so that you can access the Admin Console via HTTP.StringN/AOptional 
_<FeatureRepository> Default Feature Repository of WSO2 Carbon.StringN/AMandatory 
___<RepositoryName>  StringN/AMandatory 
___<RepositoryURL>  StringN/AMandatory 
_<APIManagement> Configure API Management.StringN/AOptional 
___<Enabled> Uses the embedded API Manager by default. If you want to use an external API Manager instance to manage APIs, configure below externalAPIManager.Boolean   
___<ExternalAPIManager> ___<APIGatewayURL> ____<APIPublisherURL> Uncomment and configure API Gateway and Publisher URLs to use external API Manager instance.String   
___<LoadAPIContextsInServerStartup>  Boolean