| :index-group: Installation |
| :jbake-date: 2018-12-05 |
| :jbake-type: page |
| :jbake-status: published |
| |
| |
| = Windows Service |
| == TomEE as a Windows® Service |
| |
| It is possible to configure TomEE to run as Windows service, and batch |
| files are provided in the bin folder to accomplish this. The key batch |
| file is `service.bat`, and this provides commands to install and |
| remove the service. Additionally two helper files are provided to |
| simplify the installation and create a basic service setup. |
| |
| * service.install.as.admin.bat |
| * service.remove.as.admin.bat |
| |
| == Installation |
| |
| These instructions assume you have already downloaded a TomEE zip file |
| and extracted it to the desired location on the file system, and that |
| you have a suitable Java installation on your machine. |
| |
| Start by opening a Command Prompt as an Administrator user. |
| |
| |
| Ensure you have JAVA_HOME set to the JDK you wish to use for the |
| service. You can check this by running `set JAVA_HOME`. |
| |
| Run `service install`. Optionally you can pass a service name, and |
| credentials for a service user. |
| |
| `service install [/service-user <user>] [/service-password <password>] [service name]` |
| |
| For example: |
| |
| ``` |
| C:\Java\apache-tomee-plus-8.0.0-SNAPSHOT\bin>service install TomEE-DEV |
| Installing the service 'TomEE-DEV' ... |
| Using CATALINA_HOME: "C:\Java\apache-tomee-plus-8.0.0-SNAPSHOT" |
| Using CATALINA_BASE: "C:\Java\apache-tomee-plus-8.0.0-SNAPSHOT" |
| Using JAVA_HOME: "C:\Java\jdk-11.0.4+11 |
| Using JRE_HOME: "C:\Java\jdk-11.0.4+11" |
| Using JVM: "C:\Java\jdk-11.0.4+11"\bin\server\jvm.dll" |
| Using Service User: "" |
| Installed, will now configure TomEE |
| The service 'TomEE-DEV' has been installed. |
| |
| C:\Java\apache-tomee-plus-8.0.0-SNAPSHOT\bin> |
| ``` |
| |
| == Removal |
| |
| Removal is similar to installation. First, ensure the service is stopped. |
| In an administrator Command Prompt, run: |
| |
| `service remove [service name]` |
| |
| For example: |
| |
| ``` |
| C:\Java\apache-tomee-plus-8.0.0-SNAPSHOT\bin>service remove TomEE-DEV |
| The service 'TomEE-DEV' has been removed |
| |
| C:\Java\apache-tomee-plus-8.0.0-SNAPSHOT\bin> |
| ``` |
| |
| == Service Accounts |
| |
| Ny default, the service is installed to run at the user `NT-Authority\Local Service`, |
| which is a very restricted account. If you wish to use `LocalSystem`, which |
| has more privileges, use: |
| |
| `service install /service-user LocalSystem [service name]` |
| |
| For example: |
| |
| ``` |
| C:\Java\apache-tomee-plus-8.0.0-SNAPSHOT\bin>service install /service-user LocalSystem TomEE-DEV |
| Installing the service 'TomEE-DEV' ... |
| Using CATALINA_HOME: "C:\Java\apache-tomee-plus-8.0.0-SNAPSHOT" |
| Using CATALINA_BASE: "C:\Java\apache-tomee-plus-8.0.0-SNAPSHOT" |
| Using JAVA_HOME: "C:\Java\jdk-11.0.4+11" |
| Using JRE_HOME: "C:\Java\jdk-11.0.4+11" |
| Using JVM: "C:\Java\jdk-11.0.4+11"\bin\server\jvm.dll" |
| Using Service User: "LocalSystem" |
| Installed, will now configure TomEE |
| The service 'TomEE-DEV' has been installed. |
| |
| C:\Java\apache-tomee-plus-8.0.0-SNAPSHOT\bin> |
| ``` |
| |
| Alternatively, you may have a specific local or domain user you wish to use |
| to run the service. You can specify the username and password for |
| the service user with the `/service-user` and `/service-password` |
| parameters. |
| |
| == Making Changes |
| |
| Once the service is installed, it is possible to make changes either |
| using the Windows Service Control Manager (start, stop, change user) |
| or by running the TomEE.exe executable in the bin directory which |
| will allow you change more settings, such as the JVM the service |
| uses. |
| |
| NOTE: if you use a custom name for your service, rename (or copy) TomEE.exe to |
| match it - e.g. TomEE-DEV.exe to match the examples above. |
| |
| == Using a 32 bit JVM on 64 bit Windows |
| |
| The service script will install either TomEE.x86.exe or TomEE.amd64.exe as the |
| service. The script uses the `PROCESSOR_ARCHITECTURE=AMD64` environment |
| variable to determine which to use. The TomEE executable used needs to |
| match the architecture of the JVM you wish to use. |
| |
| If you wish to use a 32 bit JVM on 64 bit Windows, run |
| |
| `set PROCESSOR_ARCHITECTURE=X86` prior to installing the service. |
| |
| == Setting environment variables for the service |
| |
| Setting custom environment variables for TomEE to use is a little tricky |
| as it can't be done through the UI, but can be accomplished via the |
| command line. |
| |
| After the service as been installed, at the Command Prompt, use the |
| following syntax (use the right TomEE exe for your platform) |
| |
| `TomEE.amd64.exe //US//TomEE ++Environment "variable=value"` |
| |
| Replace `TomEE` after `//US//` with your service name if you are using |
| a custom service name. |
| |
| == Further information |
| |
| The TomEE exe files are from the Apache Commons Daemon project. |
| Full documentation for commons-daemon can be found here: |
| |
| http://commons.apache.org/proper/commons-daemon/procrun.html |