WSO2 Complex Event Processor is succeeded by WSO2 Stream Processor. To view the latest documentation for WSO2 SP, see WSO2 Stream Processor Documentation.

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.

WSO2 Carbon and any Carbon-based product can be run as a Windows service as described in the following sections:

Table of Contents


Before you begin:

  • See the known incompatibilities section to find out if this version of the product has issues running on your OS due to the JDK version.
  • See the compatibility matrix to find out if this version of the product is fully tested on your operating system.


  • Install JDK and set up the JAVA_HOME environment variable. For more information, see Installation Prerequisites.
  • Download and install a service wrapper library to use for running your WSO2 product as a Windows service. WSO2 recommends Yet Another Java Service Wrapper (YAJSW) version 11.03, and several WSO2 products provide a default wrapper.conf file in their <PRODUCT_HOME>/bin/yajsw/ directory. The instructions below describe how to set up this file.


Code Block
titleMinimal wrapper.conf configuration
# working directory
# Java Main class.  
# YAJSW: default is "" 
# tmp folder
# yajsw creates temporary files named in_.. out_.. err_.. jna..
# per default these are placed in jna.tmpdir.
# jna.tmpdir is set in setenv batch file to <yajsw>/tmp
wrapper.tmp.path = ${jna_tmpdir}
# Application main class or native executable
# One of the following properties MUST be defined
# Java Application main class
# Log Level for console output.  (See docs for log levels)
# Log file to use for wrapper output logging.
# Format of output for the log file.  (See docs for formats)
# Log Level for log file output.  (See docs for log levels)
# Maximum size that the log file will be allowed to grow to before
#  the log is rolled. Size is specified in bytes.  The default value
#  of 0, disables log rolling by size.  May abbreviate with the 'k' (kB) or
#  'm' (mB) suffix.  For example: 10m = 10 megabytes.
# If wrapper.logfile does not contain the string ROLLNUM it will be automatically added as suffix of the file name
# Maximum number of rolled log files which will be allowed before old
#  files are deleted.  The default value of 0 implies no limit.
# Title to use when running as a console
wrapper.console.title="WSO2 Carbon"
# Wrapper Windows Service and Posix Daemon Properties
# Name of the service"WSO2CARBON"
# Display name of the service
wrapper.ntservice.displayname="WSO2 Carbon"
# Description of the service
wrapper.ntservice.description="Carbon Kernel"
# Wrapper System Tray Properties
# enable system tray
wrapper.tray = true
# TCP/IP port. If none is defined multicast discovery is used to find the port
# Set the port in case multicast is not possible.
wrapper.tray.port = 15002
# Exit Code Properties
# Restart on non zero exit code
# Trigger actions on console output
# On Exception show message in system tray
# genConfig: further Properties generated by genConfig
placeHolderSoGenPropsComeHere= = ${java_home}\\bin\\java = ${java_home}\\lib\\tools.jar = ${carbon_home}\\bin\\*.jar = org.wso2.carbon.bootstrap.Bootstrap = RUN = -Xbootclasspath\/a:${carbon_home}\\lib\\xboot\\*.jar = -Xms256m = -Xmx1024m = -XX:MaxPermSize=256m = -XX:+HeapDumpOnOutOfMemoryError = -XX:HeapDumpPath=${carbon_home}\\repository\\logs\\heap-dump.hprof = = -Djava.endorsed.dirs=${carbon_home}\\lib\\endorsed;${java_home}\\jre\\lib\\endorsed = -Dcarbon.registry.root=\/ = -Dcarbon.home=${carbon_home} = -Dwso2.server.standalone=true = -Djava.command=${java_home}\\bin\\java =${carbon_home}\\tmp = -Dcatalina.base=${carbon_home}\\lib\\tomcat = -Djava.util.logging.config.file=${carbon_home}\\repository\\conf\\ = -Dcarbon.config.dir.path=${carbon_home}\\repository\\conf = -Dcarbon.logs.path=${carbon_home}\\repository\\logs = -Dcomponents.repo=${carbon_home}\\repository\\components\\plugins = -Dconf.location=${carbon_home}\\repository\\conf = -Dcom.atomikos.icatch.file=${carbon_home}\\lib\\ = -Dcom.atomikos.icatch.hide_init_file_path=true = -Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true = -Dcom.sun.jndi.ldap.connect.pool.authentication=simple = -Dcom.sun.jndi.ldap.connect.pool.timeout=3000 = -Dorg.terracotta.quartz.skipUpdateCheck=true 


Setting up CARBON_HOME

Extract the Carbon-based product that you want to run as a Windows service, and then set the Windows environment variable CARBON_HOME to the extracted product directory location. For example, if you want to run ESB 4.5.0 as a Windows service, you would set CARBON_HOME to the extracted wso2esb-4.5.0 directory.