The topic provides step by step instructions for setting up the following configuration:

  • a stand-alone LabKey Server installation
  • a Remote Pipeline Server (running on a different machine)
  • a JMS service for communication between these servers


  1. Set Up a Shared File System
  2. Set Up a JMS Queue
  3. Install LabKey Server
  4. Install Remote Pipeline Service


#1. Set up a Shared File System

  • Decide on the location where the source data files will reside.
  • Share out this directory as a network share so that the Remote Pipeline Server machine can mount it.
  • Mount the directory, mapping it to a drive.
  • Record the network share and the mapped drive for use later in the Remote Pipeline Server installation wizard. In the wizard, these paths are referred to as:
    • LabKey Server webserver path to data files
    • Pipeline Remote Server path data files


#2. Set up a JMS Queue

As you install the JMS queue, record these values for use later in the Remote Pipeline Server installation wizard:

  • Host
  • Port

The pipeline requires a JMS Queue to transfer messages between the different pipeline services. The LabKey Server currently supports the ActiveMQ JMS Queue from the Apache Software Foundation.

JMS: Installation Steps

  1. Choose a server on which to run the JMS Queue
  2. Install the Java Runtime Environment
  3. Install and Configure ActiveMQ
  4. Test the ActiveMQ Installation

Choose a server to run the JMS Queue

ActiveMQ supports all major operating systems (including Windows, Linux, Solaris and Mac OSX). It is common, but not required, for it to be deployed on the LabKey Server web server. For this documentation we will assume you are installing on a Linux based server.

Install the Java Runtime Environment

  1. Download the Java Runtime Environment (JRE) from
  2. Install the JRE to the chosen directory.
  3. Create the JAVA_HOME environmental variable to point at your installation directory.

Install and Configure ActiveMQ

Note: LabKey currently supports ActiveMQ 5.1.0 only.

Download and Unpack the distribution

  1. Download ActiveMQ from ActiveMQ's download site
  2. Unpack the binary distribution from into /usr/local
    1. This will create /usr/local/apache-activemq-5.1.0
  3. Create the environmental variable <ACTIVEMQ_HOME> and have it point at /usr/local/apache-activemq-5.1.0

Configure logging for the ActiveMQ server

To log all messages sent through the JMSQueue, add the following to the <broker> node in the config file located at <ACTIVEMQ-HOME>/conf/activemq.xml

<!-- lets enable detailed logging in the broker -->

During the installation and testing of the ActiveMQ server, you might want to show the debug output for the JMS Queue software. You can enable this by editing the file <ACTIVEMQ-HOME>/conf/


#log4j.rootLogger=DEBUG, stdout, out

and comment out

log4j.rootLogger=INFO, stdout, out

Authentication, Management and Configuration

  1. Configure JMX to allow us to use Jconsole and the JMS administration tools monitor the JMS Queue
  2. We recommend configuring Authentication for your ActiveMQ server. There are number of ways to implement authentication. See
  3. We recommend configuring ActiveMQ to create the required Queues at startup. This can be done by adding the following to the configuration file <ACTIVEMQ-HOME>/conf/activemq.xml
<queue physicalName="job.queue" />
<queue physicalName="status.queue" />

Start the server

To start the ActiveMQ server, you can execute the command below. This command will start the ActiveMQ server with the following settings
  • Logs will be written to <ACTIVEMQ_HOME>/data/activemq.log
  • StdOut will be written to /usr/local/apache-activemq-5.1.0/smlog
  • JMS Queue messages, status information, etc will be stored in <ACTIVEMQ_HOME>/data
  • job.queue Queue and status.queue will be durable and persistant. (I.e., messages on the queue will be saved through a restart of the process.)
  • We are using AMQ Message Store to store Queue messages and status information
To start the server, execute

<ACTIVEMQ_HOME>/bin/activemq-admin start xbean:<ACTIVEMQ_HOME>/conf/activemq.xml > <ACTIVEMQ_HOME>/smlog 2>&1 &

Monitoring JMS Server, Viewing JMS Queue configuration and Viewing messages on a JMS Queue.

Using the ActiveMQ management tools

Browse the messages on queue by running

<ACTIVEMQ_HOME>/bin/activemq-admin browse --amqurl tcp://localhost:61616 job.queue

View runtime configuration, usage and status of the server information by running

<ACTIVEMQ_HOME>/bin/activemq-admin query

Using Jconsole

Here is a good quick description of using Jconsole to test your ActiveMQ installation. Jconsole is an application that is shipped with the Java Runtime. The management context to connect to is


#3. Install LabKey Server (on Linux)

This Wiki web part is not configured to display content.

#4. Install Remote Pipeline Server (on Windows)

This Wiki web part is not configured to display content.


Was this content helpful?

Log in or register an account to provide feedback

expand all collapse all