De website heinpragt.com is al sinds 1994 een begrip op het internet en is door de jaren heen uitgegroeid naar meer dan 330 themapagina's en een paar duizend bezoekers per dag. De website heeft drie hoofdonderwerpen: mens, cultuur en techniek.

Tips en tricks


2021-02-15 19:21:00
Elke executable (of jar file) installeren als Windows service.
Het komt maar al te vaak voor dat een programma (zoals bijvoorbeeld nginx loadbalancer) geen mogelijkheid heeft om als Windows service te draaien. Vaak wilt u dit wel omdat het dan bij het herstarten van de server automatisch weer gestart wordt en omdat het dan onder een service account of localadmin account kan draaien. Hetzelfde gaat op voor executable jar files die vanaf de command prompt kunnen draaien met het java -jar commando. Hiervoor staat er een zeer handig project (WINSW) op Github en voor dotnet versie 4 is de naam: WinSW.NET4.exe. Deze is als binary te downloaden. Met behulp van dit programma kan elke executable als Windows service geinstalleer worden.
Het volgende voorbeeld is voor een java microservice in de vorm van een jar file.

Kopieer de jar file naar de directory vanwaar het gaat draaien (in dit voorbeeld: C:/micorserv1) en kopieer ook WinSW.exe naar deze directory . Wanneer de java jar file microservice.jar heet dan hernoemd u de WinSW.exe ook naar microservice.exe. Maak dan een config bestand aan met ook de naam microservice.xml. In deze config file zet u het volgende:


<service>
<!-- ID of the service. It should be unique across the Windows system-->
<id>Microservice-1</id>
<!-- Display name of the service -->
<name> Microservice-1 WinSW</name>
<!-- Service description -->
<description> Microservice-1 on port 8080</description>
<!-- Path to the executable, which should be started -->
<executable>java</executable>
<arguments>-server -Djava.awt.headless=true -jar -Dserver.port=8080 C:/micorserv1/ microservice.jar</arguments>
</service>


Open een Command venster en ga naar de C:/micorserv1 directory en type microservice.exe install, waarna de service geïnstalleerd zal worden. U kunt dan in de properties van de Windows service manager het opstart type en het user account instellen en ook vanuit de Windows service manager het programma starten en stoppen. De logging staat in dezelfde directory als de microservice,jar file.

WINSW commands:

- 'install' - install the service to Windows Service Controller
- 'uninstall' - uninstall the service
- 'start' - start the service (must be installed before)
- 'stop' - stop the service
- 'restart' - restart the service
- 'restart!' - self-restart (can be called from child processes)
- 'status' - check the current status of the service
- 'test' - check if the service can be started and then stopped
- 'testwait' - starts the service and waits until a key is pressed then stops the service
- 'version' - print the version info
- 'help' - print the help info (aliases: -h,--help,-?,/?)

Extra options:
- '/redirect' - redirect the wrapper's STDOUT and STDERR to the specified file

Ga naar onderwerp op de site »

Antwoorden en reacties
Er zijn nog geen reacties op deze vraag!





Disclaimer: Hoewel de heer Pragt de informatie beschikbaar op deze site met grote zorg samenstelt, sluit hij alle aansprakelijkheid uit. Op de artikelen van de heer Pragt rust auteursrecht, overname van tekst en afbeeldingen is uitsluitend toegestaan na voorafgaande schriftelijke toestemming. Heinpragt.com is ingeschreven bij de KvK onder nummer: 73839426 en is gevestigd in Veenendaal.  Lees hier de privacyverklaring van deze site. Voor informatie over adverteren op deze site kunt u contact opnemen met: (mail@heinpragt.com).