YAJSW
This page is part of the Developer Section.
BaseX server can be configured to run as an always-on service in Windows (or daemon in Linux) using YAJSW.
Contents
Some basics of YAJSW
- Each service running with YAJSW has a configuration file which lives in the
conf
folder. - Installing and controlling services is done from the command line. Run a command prompt as administrator, then navigate to the folder where you placed YAJSW, e.g.
cd C:\Programs\yajsw\yajsw-beta-12.05
- If you need to change configuration of a service follow this sequence:
- Stop the service
java -jar wrapper.jar --stop conf\wrapper.name.conf
- Remove the service
java -jar wrapper.jar --remove conf\wrapper.name.conf
- Make your changes to the wrapper or application configuration.
- Install the service
java -jar wrapper.jar --install conf\wrapper.name.conf
- Start the service
java -jar wrapper.jar --start conf\wrapper.name.conf
- Stop the service
YAJSW comes with some helpful convenience scripts in the 'bat' and 'bin' folders. This set of instructions does not use these convenience scripts.
Gather the files
- Download the latest version of BaseX. Select the Zip Archive.
- Download the latest version of YAJSW.
- Download the latest version of Java.
Install BaseX as a Windows Service
The instructions on this page are known to work using Windows Server 2012R2, BaseX 8.4.2, YAJSW 12.05 beta, Java 1.8.0_77 64-bit from Oracle.
Install Java
Install Java using the Java installer for your operating system. Use a 64-bit version if you can.
Put files into position
These instructions assume you will be placing BaseX and YAJSW in C:\Programs, but you can choose a different location.
- Create folder
C:\Programs
- Extract YAJSW to
C:\Programs\yajsw\yajsw-beta-12.05
- Extract BaseX to
C:\Programs\BaseX\basex
Install BaseX as a service
Create wrapper config file wrapper.basex.conf
and place it in YAJSW's conf
folder. You can use the example below. You may need to modify this example to:
- Specify the location of java.exe
- Increase the amount of memory available to BaseX from 512m (for example, 2048m)
# YAJSW configuration for BaseX wrapper.java.command=C:/Program Files/Java/jre1.8.0_77/bin/java.exe wrapper.working.dir=C:\\Programs\\BaseX\\basex wrapper.java.app.mainclass=org.basex.BaseXHTTP wrapper.java.classpath.1 = .\\BaseX.jar wrapper.java.classpath.2 = .\\lib\\*.jar wrapper.java.additional.1 = -Xmx512m wrapper.java.additional.2 = -Dfile.encoding=utf-8 wrapper.ntservice.name=BaseX wrapper.ntservice.displayname=BaseX wrapper.ntservice.description=BaseX XQuery database wrapper.ntservice.starttype=DELAYED_AUTO_START wrapper.console.loglevel=INFO wrapper.logfile=${wrapper.working.dir}\\data\\.logs\\wrapper-basex.log wrapper.logfile.maxsize=10m wrapper.logfile.maxfiles=10 wrapper.on_exit.0=SHUTDOWN wrapper.on_exit.default=RESTART
After you have created the wrapper configuration file:
- Open a command prompt as administrator
- Navigate to the YAJSW folder:
cd C:\Programs\yajsw\yajsw-beta-12.05
- Install the service:
java -jar wrapper.jar --install conf\wrapper.basex.conf
- Start the service:
java -jar wrapper.jar --start conf\wrapper.basex.conf
BaseX server is now running as a service, and will start automatically when Windows starts. At this point you should go ahead and set a password for the admin user.
- Open a web browser and go to http://localhost:8984/dba (or http://host:8984/dba from your computer, replace 'host' with the address of the server) to open the database administration web console.
- Log in with username 'admin' password 'admin'
- Click on Users to navigate to the user management screen.
- Click on the admin user
- Set a password for the admin user and then click Save.