Difference between revisions of "YAJSW"

From BaseX Documentation
Jump to navigation Jump to search
(update sample YAJSW config to use Oracle Java path alias so that the service will not need to be updated when Java is updated. Also adding lib\custom folder and increasing memory)
(3 intermediate revisions by 2 users not shown)
Line 18: Line 18:
 
== Gather the files ==
 
== Gather the files ==
  
* Download the latest version of [http://basex.org/products/download/all-downloads/ BaseX]. Select the Zip Archive.  
+
* Download the latest version of [https://basex.org/products/download/all-downloads/ BaseX]. Select the Zip Archive.  
 
* Download the latest version of [https://sourceforge.net/projects/yajsw/ YAJSW].
 
* Download the latest version of [https://sourceforge.net/projects/yajsw/ YAJSW].
* Download the latest version of [http://java.com/en/download/manual.jsp Java].
+
* Download the latest version of [https://java.com/en/download/ Java].
  
 
== Install BaseX as a Windows Service ==
 
== Install BaseX as a Windows Service ==
Line 43: Line 43:
  
 
* Specify the location of java.exe
 
* Specify the location of java.exe
* Increase the amount of memory available to BaseX from 512m (for example, 2048m)
+
* Change the amount of memory available to BaseX from 1024m (for example, 512m or 2048m)
  
<pre>
+
<syntaxhighlight lang="ini">
 
# YAJSW configuration for BaseX
 
# YAJSW configuration for BaseX
  
Line 73: Line 73:
 
wrapper.on_exit.0=SHUTDOWN
 
wrapper.on_exit.0=SHUTDOWN
 
wrapper.on_exit.default=RESTART
 
wrapper.on_exit.default=RESTART
</pre>
+
</syntaxhighlight>
  
 
After you have created the wrapper configuration file:
 
After you have created the wrapper configuration file:

Revision as of 12:14, 2 July 2020

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.

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:
    1. Stop the service java -jar wrapper.jar --stop conf\wrapper.name.conf
    2. Remove the service java -jar wrapper.jar --remove conf\wrapper.name.conf
    3. Make your changes to the wrapper or application configuration.
    4. Install the service java -jar wrapper.jar --install conf\wrapper.name.conf
    5. Start the service java -jar wrapper.jar --start conf\wrapper.name.conf

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.

  1. Create folder C:\Programs
  2. Extract YAJSW to C:\Programs\yajsw\yajsw-beta-12.05
  3. 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
  • Change the amount of memory available to BaseX from 1024m (for example, 512m or 2048m)

<syntaxhighlight lang="ini">

  1. YAJSW configuration for BaseX

wrapper.java.command=C:/ProgramData/Oracle/Java/javapath/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.classpath.3 = .\\lib\\custom\\*.jar

wrapper.java.additional.1 = -Xmx1024m 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 </syntaxhighlight>

After you have created the wrapper configuration file:

  1. Open a command prompt as administrator
  2. Navigate to the YAJSW folder: cd C:\Programs\yajsw\yajsw-beta-12.05
  3. Install the service: java -jar wrapper.jar --install conf\wrapper.basex.conf
  4. 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.

  1. 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.
  2. Log in with username 'admin' password 'admin'
  3. Click on Users to navigate to the user management screen.
  4. Click on the admin user
  5. Set a password for the admin user and then click Save.