1 <?xml version="1.0" encoding="ISO-8859-1"?>
4 ~ Copyright 2005-2011 WSO2, Inc. (http://wso2.com)
6 ~ Licensed under the Apache License, Version 2.0 (the "License");
7 ~ you may not use this file except in compliance with the License.
8 ~ You may obtain a copy of the License at
10 ~ http://www.apache.org/licenses/LICENSE-2.0
12 ~ Unless required by applicable law or agreed to in writing, software
13 ~ distributed under the License is distributed on an "AS IS" BASIS,
14 ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15 ~ See the License for the specific language governing permissions and
16 ~ limitations under the License.
20 This is the main server configuration file
22 ${carbon.home} represents the carbon.home system property.
23 Other system properties can be specified in a similar manner.
25 <Server xmlns="http://wso2.org/projects/carbon/carbon.xml">
30 <Name>WSO2 Business Process Server</Name>
33 machine readable unique key to identify each product
35 <ServerKey>BPS</ServerKey>
40 <Version>3.5.0</Version>
43 Host name or IP address of the machine hosting this server
44 e.g. www.wso2.org, 192.168.1.10
45 This is will become part of the End Point Reference of the
46 services deployed on this server instance.
48 <!--HostName>www.wso2.org</HostName-->
51 Host name to be used for the Carbon management console
53 <!--MgtHostName>mgt.wso2.org</MgtHostName-->
56 The URL of the back end server. This is where the admin services are hosted and
57 will be used by the clients in the front end server.
58 This is required only for the Front-end server. This is used when seperating BE server from FE server
60 <ServerURL>local:/${carbon.context}/services/</ServerURL>
62 <ServerURL>https://${carbon.local.ip}:${carbon.management.port}${carbon.context}/services/</ServerURL>
65 The URL of the index page. This is where the user will be redirected after signing in to the
68 <!-- IndexPageURL>/carbon/admin/index.jsp</IndexPageURL-->
71 For cApp deployment, we have to identify the roles that can be acted by the current server.
72 The following property is used for that purpose. Any number of roles can be defined here.
73 Regular expressions can be used in the role.
74 Ex : <Role>.*</Role> means this server can act any role
77 <Role>BusinessProcessServer</Role>
80 <!-- uncommnet this line to subscribe to a bam instance automatically -->
81 <!--<BamServerURL>https://bamhost:bamport/services/</BamServerURL>-->
84 The fully qualified name of the server
86 <Package>org.wso2.carbon</Package>
89 Webapp context root of WSO2 Carbon management console.
91 <WebContextRoot>/</WebContextRoot>
94 Proxy context path is a useful parameter to add a proxy path when a Carbon server is fronted by reverse proxy. In addtion
95 to the proxy host and proxy port this parameter allows you add a path component to external URLs. e.g.
96 URL of the Carbon server -> https://10.100.1.1:9443/carbon
97 URL of the reverse proxy -> https://prod.abc.com/appserver/carbon
99 appserver - proxy context path. This specially required whenever you are generating URLs to displace in
100 Carbon UI components.
103 <MgtProxyContextPath></MgtProxyContextPath>
104 <ProxyContextPath></ProxyContextPath>
107 <!-- In-order to get the registry http Port from the back-end when the default http transport is not the same-->
108 <!--RegistryHttpPort>9763</RegistryHttpPort-->
111 Number of items to be displayed on a management console page. This is used at the
112 backend server for pagination of various items.
114 <ItemsPerPage>15</ItemsPerPage>
116 <!-- The endpoint URL of the cloud instance management Web service -->
117 <!--<InstanceMgtWSEndpoint>https://ec2.amazonaws.com/</InstanceMgtWSEndpoint>-->
120 Ports used by this server
124 <!-- Ports offset. This entry will set the value of the ports defined below to
125 the define value + Offset.
126 e.g. Offset=2 and HTTPS port=9443 will set the effective HTTPS port to 9445
130 <!-- The JMX Ports -->
132 <!--The port RMI registry is exposed-->
133 <RMIRegistryPort>9999</RMIRegistryPort>
134 <!--The port RMI server should be exposed-->
135 <RMIServerPort>11111</RMIServerPort>
138 <!-- Embedded LDAP server specific ports -->
140 <!-- Port which embedded LDAP server runs -->
141 <LDAPServerPort>10389</LDAPServerPort>
142 <!-- Port which KDC (Kerberos Key Distribution Center) server runs -->
143 <KDCServerPort>8000</KDCServerPort>
147 Override datasources JNDIproviderPort defined in bps.xml and datasources.properties files
149 <!--<JNDIProviderPort>2199</JNDIProviderPort>-->
150 <!--Override receive port of thrift based entitlement service.-->
151 <ThriftEntitlementReceivePort>10500</ThriftEntitlementReceivePort>
160 The fully qualified name of the default initial context factory
162 <DefaultInitialContextFactory>org.wso2.carbon.tomcat.jndi.CarbonJavaURLContextFactory</DefaultInitialContextFactory>
164 The restrictions that are done to various JNDI Contexts in a Multi-tenant environment
168 Contexts that will be available only to the super-tenant
170 <!-- <SuperTenantOnly>
179 </SuperTenantOnly> -->
181 Contexts that are common to all tenants
186 <Scheme>java</Scheme>
194 All other contexts not mentioned above will be available on a per-tenant basis
195 (i.e. will not be shared among tenants)
201 Property to determine if the server is running an a cloud deployment environment.
202 This property should only be used to determine deployment specific details that are
203 applicable only in a cloud deployment, i.e when the server deployed *-as-a-service.
205 <IsCloudDeployment>false</IsCloudDeployment>
208 Property to determine whether usage data should be collected for metering purposes
210 <EnableMetering>false</EnableMetering>
212 <!-- The Max time a thread should take for execution in seconds -->
213 <MaxThreadExecutionTime>600</MaxThreadExecutionTime>
216 A flag to enable or disable Ghost Deployer. By default this is set to false. That is
217 because the Ghost Deployer works only with the HTTP/S transports. If you are using
218 other transports, don't enable Ghost Deployer.
221 <Enabled>false</Enabled>
226 Eager loading or lazy loading is a design pattern commonly used in computer programming which
227 will initialize an object upon creation or load on-demand. In carbon, lazy loading is used to
228 load tenant when a request is received only. Similarly Eager loading is used to enable load
229 existing tenants after carbon server starts up. Using this feature, you will be able to include
230 or exclude tenants which are to be loaded when server startup.
232 We can enable only one LoadingPolicy at a given time.
234 1. Tenant Lazy Loading
235 This is the default behaviour and enabled by default. With this policy, tenants are not loaded at
236 server startup, but loaded based on-demand (i.e when a request is received for a tenant).
237 The default tenant idle time is 30 minutes.
239 2. Tenant Eager Loading
240 This is by default not enabled. It can be be enabled by un-commenting the <EagerLoading> section.
241 The eager loading configurations supported are as below. These configurations can be given as the
242 value for <Include> element with eager loading.
243 (i)Load all tenants when server startup - *
244 (ii)Load all tenants except foo.com & bar.com - *,!foo.com,!bar.com
245 (iii)Load only foo.com & bar.com to be included - foo.com,bar.com
250 <IdleTime>30</IdleTime>
253 <Include>*,!foo.com,!bar.com</Include>
259 Caching related configurations
262 <!-- Default cache timeout in minutes -->
263 <DefaultCacheTimeout>15</DefaultCacheTimeout>
267 Axis2 related configurations
271 Location of the Axis2 Services & Modules repository
273 This can be a directory in the local file system, or a URL.
276 1. /home/wso2wsas/repository/ - An absolute path
277 2. repository - In this case, the path is relative to CARBON_HOME
278 3. file:///home/wso2wsas/repository/
279 4. http://wso2wsas/repository/
281 <RepositoryLocation>${carbon.home}/repository/deployment/server/</RepositoryLocation>
284 Deployment update interval in seconds. This is the interval between repository listener
287 <DeploymentUpdateInterval>15</DeploymentUpdateInterval>
290 Location of the main Axis2 configuration descriptor file, a.k.a. axis2.xml file
292 This can be a file on the local file system, or a URL
295 1. /home/repository/axis2.xml - An absolute path
296 2. conf/axis2.xml - In this case, the path is relative to CARBON_HOME
297 3. file:///home/carbon/repository/axis2.xml
298 4. http://repository/conf/axis2.xml
300 <ConfigurationFile>${carbon.home}/repository/conf/axis2/axis2.xml</ConfigurationFile>
303 ServiceGroupContextIdleTime, which will be set in ConfigurationContex
304 for multiple clients which are going to access the same ServiceGroupContext
305 Default Value is 30 Sec.
307 <ServiceGroupContextIdleTime>30000</ServiceGroupContextIdleTime>
310 This repository location is used to crete the client side configuration
311 context used by the server when calling admin services.
313 <ClientRepositoryLocation>${carbon.home}/repository/deployment/client/</ClientRepositoryLocation>
314 <!-- This axis2 xml is used in createing the configuration context by the FE server
315 calling to BE server -->
316 <clientAxis2XmlLocation>${carbon.home}/repository/conf/axis2/axis2_client.xml</clientAxis2XmlLocation>
317 <!-- If this parameter is set, the ?wsdl on an admin service will not give the admin service wsdl. -->
318 <HideAdminServiceWSDLs>false</HideAdminServiceWSDLs>
320 <!--WARNING-Use With Care! Uncommenting bellow parameter would expose all AdminServices in HTTP transport.
321 With HTTP transport your credentials and data routed in public channels are vulnerable for sniffing attacks.
322 Use bellow parameter ONLY if your communication channels are confirmed to be secured by other means -->
323 <!--HttpAdminServices>*</HttpAdminServices-->
328 The default user roles which will be created when the server
329 is started up for the first time.
334 <Description>Default Administrator Role</Description>
338 <Description>Default User Role</Description>
343 Enable following config to allow Emails as usernames.
345 <!--EnableEmailUserName>true</EnableEmailUserName-->
348 Security configurations
352 KeyStore which will be used for encrypting/decrypting passwords
353 and other sensitive information.
356 <!-- Keystore file location-->
357 <Location>${carbon.home}/repository/resources/security/wso2carbon.jks</Location>
358 <!-- Keystore type (JKS/PKCS12 etc.)-->
360 <!-- Keystore password-->
361 <Password>wso2carbon</Password>
362 <!-- Private Key alias-->
363 <KeyAlias>wso2carbon</KeyAlias>
364 <!-- Private Key password-->
365 <KeyPassword>wso2carbon</KeyPassword>
369 System wide trust-store which is used to maintain the certificates of all
373 <!-- trust-store file location -->
374 <Location>${carbon.home}/repository/resources/security/client-truststore.jks</Location>
375 <!-- trust-store type (JKS/PKCS12 etc.) -->
377 <!-- trust-store password -->
378 <Password>wso2carbon</Password>
382 The Authenticator configuration to be used at the JVM level. We extend the
383 java.net.Authenticator to make it possible to authenticate to given servers and
386 <NetworkAuthenticatorConfig>
388 Below is a sample configuration for a single authenticator. Please note that
389 all child elements are mandatory. Not having some child elements would lead to
390 exceptions at runtime.
392 <!-- <Credential> -->
394 the pattern that would match a subset of URLs for which this authenticator
397 <!-- <Pattern>regularExpression</Pattern> -->
399 the type of this authenticator. Allowed values are:
403 <!-- <Type>proxy</Type> -->
404 <!-- the username used to log in to server/proxy -->
405 <!-- <Username>username</Username> -->
406 <!-- the password used to log in to server/proxy -->
407 <!-- <Password>password</Password> -->
408 <!-- </Credential> -->
409 </NetworkAuthenticatorConfig>
412 The Tomcat realm to be used for hosted Web applications. Allowed values are;
416 If this is set to 'UserManager', the realm will pick users & roles from the system's
417 WSO2 User Manager. If it is set to 'memory', the realm will pick users & roles from
418 CARBON_HOME/repository/conf/tomcat/tomcat-users.xml
420 <TomcatRealm>UserManager</TomcatRealm>
422 <!--Option to disable storing of tokens issued by STS-->
423 <DisableTokenStore>false</DisableTokenStore>
426 Security token store class name. If this is not set, default class will be
427 org.wso2.carbon.security.util.SecurityTokenStore
429 <!--TokenStoreClassName>org.wso2.carbon.identity.sts.store.DBTokenStore</TokenStoreClassName-->
431 <!--CSRFPreventionConfig>
432 <Enabled>true</Enabled>
436 <Pattern>carbon</Pattern>
437 <Pattern>commonauth</Pattern>
438 <Pattern>samlsso</Pattern>
439 <Pattern>authenticationendpoint</Pattern>
440 <Pattern>wso2</Pattern>
441 <Pattern>oauth2</Pattern>
442 <Pattern>openid</Pattern>
443 <Pattern>openidserver</Pattern>
444 <Pattern>passivests</Pattern>
445 <Pattern>services</Pattern>
449 <Url>https://localhost:9443</Url>
451 </CSRFPreventionConfig>
453 <XSSPreventionConfig>
454 <Enabled>true</Enabled>
455 </XSSPreventionConfig-->
460 The temporary work directory
462 <WorkDirectory>${carbon.home}/tmp/work</WorkDirectory>
465 House-keeping configuration
470 true - Start House-keeping thread on server startup
471 false - Do not start House-keeping thread on server startup.
472 The user will run it manually as and when he wishes.
474 <AutoStart>true</AutoStart>
477 The interval in *minutes*, between house-keeping runs
479 <Interval>10</Interval>
482 The maximum time in *minutes*, temp files are allowed to live
483 in the system. Files/directories which were modified more than
484 "MaxTempFileLifetime" minutes ago will be removed by the
487 <MaxTempFileLifetime>30</MaxTempFileLifetime>
491 Configuration for handling different types of file upload & other file uploading related
493 To map all actions to a particular FileUploadExecutor, use
498 The total file upload size limit in MB
500 <TotalFileSizeLimit>100</TotalFileSizeLimit>
504 <Action>keystore</Action>
505 <Action>certificate</Action>
508 <Class>org.wso2.carbon.ui.transports.fileupload.AnyFileUploadExecutor</Class>
513 <Action>jarZip</Action>
515 <Class>org.wso2.carbon.ui.transports.fileupload.JarZipUploadExecutor</Class>
521 <Class>org.wso2.carbon.ui.transports.fileupload.DBSFileUploadExecutor</Class>
525 <Action>tools</Action>
527 <Class>org.wso2.carbon.ui.transports.fileupload.ToolsFileUploadExecutor</Class>
531 <Action>toolsAny</Action>
533 <Class>org.wso2.carbon.ui.transports.fileupload.ToolsAnyFileUploadExecutor</Class>
538 Processors which process special HTTP GET requests such as ?wsdl, ?policy etc.
540 In order to plug in a processor to handle a special request, simply add an entry to this
543 The value of the Item element is the first parameter in the query string(e.g. ?wsdl)
544 which needs special processing
546 The value of the Class element is a class which implements
547 org.wso2.carbon.transport.HttpGetRequestProcessor
549 <HttpGetRequestProcessors>
552 <Class>org.wso2.carbon.core.transports.util.InfoProcessor</Class>
556 <Class>org.wso2.carbon.core.transports.util.Wsdl11Processor</Class>
560 <Class>org.wso2.carbon.core.transports.util.Wsdl20Processor</Class>
564 <Class>org.wso2.carbon.core.transports.util.XsdProcessor</Class>
566 </HttpGetRequestProcessors>
568 <!-- Deployment Synchronizer Configuration. t Enabled value to true when running with "svn based" dep sync.
569 In master nodes you need to set both AutoCommit and AutoCheckout to true
570 and in worker nodes set only AutoCheckout to true.
572 <DeploymentSynchronizer>
573 <Enabled>false</Enabled>
574 <AutoCommit>false</AutoCommit>
575 <AutoCheckout>true</AutoCheckout>
576 <RepositoryType>svn</RepositoryType>
577 <SvnUrl>http://svnrepo.example.com/repos/</SvnUrl>
578 <SvnUser>username</SvnUser>
579 <SvnPassword>password</SvnPassword>
580 <SvnUrlAppendTenantId>true</SvnUrlAppendTenantId>
581 </DeploymentSynchronizer>
583 <!-- Deployment Synchronizer Configuration. Uncomment the following section when running with "registry based" dep sync.
584 In master nodes you need to set both AutoCommit and AutoCheckout to true
585 and in worker nodes set only AutoCheckout to true.
587 <!--<DeploymentSynchronizer>
588 <Enabled>true</Enabled>
589 <AutoCommit>false</AutoCommit>
590 <AutoCheckout>true</AutoCheckout>
591 </DeploymentSynchronizer>-->
593 <!-- Mediation persistence configurations. Only valid if mediation features are available i.e. ESB -->
594 <!--<MediationConfig>
595 <LoadFromRegistry>false</LoadFromRegistry>
596 <SaveToFile>false</SaveToFile>
597 <Persistence>enabled</Persistence>
598 <RegistryPersistence>enabled</RegistryPersistence>
599 </MediationConfig>-->
602 Server intializing code, specified as implementation classes of org.wso2.carbon.core.ServerInitializer.
603 This code will be run when the Carbon server is initialized
606 <!--<Initializer></Initializer>-->
607 </ServerInitializers>
610 Indicates whether the Carbon Servlet is required by the system, and whether it should be
613 <RequireCarbonServlet>${require.carbon.servlet}</RequireCarbonServlet>
616 Carbon H2 OSGI Configuration
617 By default non of the servers start.
618 name="web" - Start the web server with the H2 Console
619 name="webPort" - The port (default: 8082)
620 name="webAllowOthers" - Allow other computers to connect
621 name="webSSL" - Use encrypted (HTTPS) connections
622 name="tcp" - Start the TCP server
623 name="tcpPort" - The port (default: 9092)
624 name="tcpAllowOthers" - Allow other computers to connect
625 name="tcpSSL" - Use encrypted (SSL) connections
626 name="pg" - Start the PG server
627 name="pgPort" - The port (default: 5435)
628 name="pgAllowOthers" - Allow other computers to connect
629 name="trace" - Print additional trace information; for all servers
630 name="baseDir" - The base directory for H2 databases; for all servers
632 <!--H2DatabaseConfiguration>
633 <property name="web" />
634 <property name="webPort">8082</property>
635 <property name="webAllowOthers" />
636 <property name="webSSL" />
637 <property name="tcp" />
638 <property name="tcpPort">9092</property>
639 <property name="tcpAllowOthers" />
640 <property name="tcpSSL" />
641 <property name="pg" />
642 <property name="pgPort">5435</property>
643 <property name="pgAllowOthers" />
644 <property name="trace" />
645 <property name="baseDir">${carbon.home}</property>
646 </H2DatabaseConfiguration-->
647 <!--Disabling statistics reporter by default-->
648 <StatisticsReporterDisabled>true</StatisticsReporterDisabled>
650 <!-- Enable accessing Admin Console via HTTP -->
651 <!-- EnableHTTPAdminConsole>true</EnableHTTPAdminConsole -->
654 Default Feature Repository of WSO2 Carbon.
657 <RepositoryName>default repository</RepositoryName>
658 <RepositoryURL>http://dist.wso2.org/p2/carbon/releases/4.4.1-SNAPSHOT</RepositoryURL>
662 Configure API Management
666 <!--Uses the embedded API Manager by default. If you want to use an external
667 API Manager instance to manage APIs, configure below externalAPIManager-->
669 <Enabled>true</Enabled>
671 <!--Uncomment and configure API Gateway and
672 Publisher URLs to use external API Manager instance-->
674 <!--ExternalAPIManager>
676 <APIGatewayURL>http://localhost:8281</APIGatewayURL>
677 <APIPublisherURL>http://localhost:8281/publisher</APIPublisherURL>
679 </ExternalAPIManager-->
681 <LoadAPIContextsInServerStartup>true</LoadAPIContextsInServerStartup>