Apache Derby logo


Apache Derby is a small footprint open-source relational database implemented entirely in Java.


Apache Derby can be run as a Windows service using FireDaemon Pro. This allows you to start and run the monitor automatically when Windows boots and before login. FireDaemon Pro also allows you to start multiple instances of the server, monitoring them and automatically restarting those instances in the event they crash. FireDaemon Fusion can also be used to manage your Apache Derby service, plus other Windows services via your web browser.


Apache Derby Setup Under FireDaemon Pro

Please follow the steps below to set up an Apache Derby monitor as a Windows service with FireDaemon Pro


Step 1: Download and Install Java

Java 8 is supported until 2030 so we recommended you use this version. Oracle changed their download policy for Java and to download it, you need to make a free Oracle account and login. There are 2 types of java you can install:

  1. Java Server (JRE): This has performance optimizations and you can download the latest Java 8 Windows x64 Server JRE from the java website at the bottom of the page. Extract the contents of the zip to your hard drive, for the purposes of this guide we will use "C:\jdk1.8.0_271". The folder name will be different if you're using a different Java version.
  2. Java SE: This has performance optimizations and you can download the latest Java 8 Windows x64 Jave SE from the java website at the bottom of the page. Extract the contents of the zip to your hard drive, if you use this version extract to "C:\jre1.8.0_271". The folder name will be different if you're using a different Java version.

Depending on which version of Java you installed and if it was the zip version then you also need to do one of these:


If you downloaded the Jave Server (JRE) zip, open a command prompt as administrator and type:

setx JAVA_HOME "C:\jdk1.8.0_271"

If you downloaded the Jave SE (JSE) zip, open a command prompt as administrator and type:

setx JRE_HOME "C:\jre1.8.0_271"
Note: The Java path in the above examples will change if you installed a different version of Java so correct as necessary.

Then restart Windows


Step 2: Download and Install Apache Derby

  1. Download from here. Make sure you get the correct version for your installed Java (in this case its version 10.14.x.x for Java 8).
  2. Extract the zip someplace on your hard drive. For the purposes of this guide, we will use: "C:\db-derby-10.15.2.0-bin". The folder name will be different if you're using a different version.


Step 3: Set Up Apache Derby as a FireDaemon Pro Service

Download and install FireDaemon Pro. Double click the FireDaemon Pro icon on your desktop, then click on the New (i.e. +) button in the toolbar (or type Ctrl + N) to create a new service. Enter the information into the fields as you see below. Adjust the path names to suit your installation. Note the required parameters.


FireDaemon Pro Apache Derby Dedicated Server Service Program Tab


The most important field on the tab is the Parameters. The Parameters define the initial setup of your server. The full parameter list should be as follows:

-classpath "%DERBY_JAR%;%DERBY_JARNET%;%DERBY_CLIENT%;%DERBY_TOOLS%;%DERBY_OPTIONALTOOLS%" org.apache.derby.drda.NetworkServerControl start

The above commands need to be added in their entirety. They allow Derby to run as a service.


Next, click on the FireDaemon Pro Settings tab:


FireDaemon Pro Apache Derby service settings


Enter appropriate values in the fields on the Settings tab as follows:

  • (Required) Job Type: You must set job type to "Global Job".
  • (Required) Logon Account: Enter the Windows account under which the application is to be run, e.g. the current administrator account.
  • Password / Confirm Password:  Enter the logon account's password twice.
  • (Optional) Interact with Desktop: If this setting is enabled (default), the application's output messages can be seen in the console window on Windows Session 0. To switch to Session 0, it may be necessary to install FireDaemon Zero and ZeroInput. Alternatively, this setting may be disabled, in which case the application's messages will be hidden.
  • (Optional) Priority: To allocate more CPU time to the application, select a higher scheduling priority in this field.
  • (Optional) CPU Bindings: To run the application on a specific CPU, specify the appropriate CPU in this field.


Next, click on the Lifecycle tab. Set Shutdown By to Forceful Termination and check "Console Program".

FireDaemon Pro Apache Derby lifecycle settings


Now click on the Environment tab. This is where you enter environment variables specific to your Derby instance. The names and values of the environment variables are below; adjust your paths to suit your installation. Adjust the paths below to the version of Tomcat you have installed. Note that environment variable order is important:


FireDaemon Pro Apache Derby environment settings


DERBY_JAR: C:\db-derby-10.14.2.0-bin\bin\../lib/derby.jar
DERBY_JARNET: C:\db-derby-10.14.2.0-bin\bin\../lib/derbynet.jar
DERBY_CLIENT: C:\db-derby-10.14.2.0-bin\bin\../lib/derbyclient.jar
DERBY_TOOLS: C:\db-derby-10.14.2.0-bin\bin\../lib/derbytools.jar
DERBY_OPTIONALTOOLS: C:\db-derby-10.14.2.0-bin\bin\../lib/derbyoptionaltools.jar


Now click on the Events tab. Append a new Termination Event. This is where we set up Apache Derby to stop gracefully when we shut down the service.

FireDaemon Pro Apache Derby termination event

The most important field on the tab is the Parameters. The Parameters define the shutdown of your server. The full parameter list should be as follows:

-classpath "%DERBY_JAR%;%DERBY_JARNET%;%DERBY_CLIENT%;%DERBY_TOOLS%;%DERBY_OPTIONALTOOLS%" org.apache.derby.drda.NetworkServerControl shutdown

The above commands need to be added in their entirety. They allow Derby to properly shutdown as a service.


Lastly, click the Save and Close (ie. the tick) button on the toolbar. If the service's Startup Type is set to Automatic or Automatic (Delayed-Start), it will start immediately.


FireDaemon Pro Services list


If the service's Interact with Desktop setting is enabled, the Apache Derby status can also be verified by switching to Windows Session 0 to view the Apache Derby's messages.


Apache Derby messages window