Apache ActiveMQ Setup

Apache ActiveMQ Setup—Legacy GermainUX Releases

warning Important

Apache ActiveMQ applies only to GermainUX releases earlier than 2024.2.

Kafka replaces ActiveMQ in GermainUX 2024.2 and later. Do not install ActiveMQ for a current GermainUX deployment unless Germain Software explicitly confirms that your release requires it.

For current deployments, see Apache Kafka Setup.

🔍 Overview

In legacy GermainUX architectures, ActiveMQ runs as a separate message broker and enables communication between GermainUX Enterprise and GermainUX Engines or Nodes.

ActiveMQ must be running and accessible before GermainUX Enterprise services and Engines start.

⚙️ Before You Begin

Confirm with Germain Software:

Item

That your GermainUX release requires ActiveMQ

The supported ActiveMQ Classic version

The required Java version

Broker hostname and port

Authentication and TLS requirements

Queue and topic configuration

High-availability requirements

Migration path to Kafka

ActiveMQ Classic 5.17 or later may be supported for applicable legacy GermainUX releases. Confirm the exact version before installation.

📋 Requirements

Prepare:

Requirement

A supported 64-bit operating system

Supported Java runtime

Supported ActiveMQ Classic package

GermainUX Service distribution

Dedicated service account

Sufficient disk space for messages and logs

Required firewall rules

DNS and TLS certificates

Backup of the existing broker configuration when upgrading

The commonly used OpenWire port is:

61616

Use the actual port configured in your environment.

⬇️ Download ActiveMQ

Download the approved ActiveMQ Classic release from the Apache ActiveMQ website.

Use only the version approved for the installed GermainUX release.

Verify the downloaded archive using the checksum or signature published by Apache.

🔧 Install ActiveMQ


Step

Extract the ActiveMQ archive to the approved installation directory.

Assign ownership to the dedicated service account.

Restrict file permissions.

Confirm the Java runtime.

Create separate directories for: Configuration; Persistent messages; Logs; Temporary files

Confirm network access between ActiveMQ and the GermainUX components.

Do not run ActiveMQ as root, a domain administrator, or a personal user account.

📁 Apply the GermainUX Configuration

The GermainUX Service distribution includes an ActiveMQ configuration file under:

ServiceDistribution/install/activemq

Back up the original ActiveMQ configuration:

conf/activemq.xml

Then replace or merge it with the GermainUX-provided configuration for your release.

Before starting ActiveMQ, review:

Configuration Item

Broker name

OpenWire connector

Queue and topic definitions

Persistent-message storage

Memory limits

Disk limits

Authentication

TLS

Network interfaces

Management-console access

Log settings

Do not expose the broker or its management console to untrusted networks.

🔒 Configure Security

Before production use:

Action

Replace all default credentials.

Enable broker authentication.

Use dedicated GermainUX service accounts.

Apply least-privilege authorization.

Enable TLS for broker connections where supported.

Restrict port 61616 to approved GermainUX hosts.

Restrict or disable the management console.

Store credentials securely.

Protect persistent messages and logs.

Enable audit or security logging when required.

Avoid unencrypted broker URLs for communication across untrusted or segmented networks.

⚙️ Configure GermainUX

The legacy broker URL is stored under:

/config/germain/application/germain.messaging.brokerUrl

Example structure:

set /config/germain/application/germain.messaging.brokerUrl "failover:(ssl://activemq.example.com:61616)"

Use the protocol, hostname, port, authentication, and TLS settings approved for your environment.

Do not store production passwords in scripts or source control.

🖥️ Run ActiveMQ on Windows

Install ActiveMQ as a Windows service using the service wrapper included with the approved ActiveMQ distribution.

After installation:

  1. Open the Windows Services console.

  2. Locate the ActiveMQ service.

  3. Configure the dedicated service account.

  4. Set the startup type to Automatic.

  5. Start the service.

  6. Confirm that it remains running.

  7. Review the ActiveMQ logs.

The exact service-installation command depends on the ActiveMQ package and system architecture.

🐧 Run ActiveMQ on Linux or Unix

From the ActiveMQ installation directory:

bin/activemq start xbean:conf/activemq.conf

Check its status:

bin/activemq status

Stop it gracefully:

bin/activemq stop

For production, manage ActiveMQ through the operating system’s approved service manager.

⬆️ Startup Order

Start the legacy GermainUX environment in this order:

Order

Service

1

Datastore

2

ZooKeeper

3

ActiveMQ

4

Hazelcast when required

5

GermainUX Enterprise services

6

GermainUX Engines or Nodes

During shutdown, reverse the order so producers and consumers stop before the broker.

✅ Validate the Deployment

Confirm that:

Check

ActiveMQ starts without configuration errors.

The expected connector is listening.

Authentication succeeds.

TLS certificates are valid when TLS is enabled.

GermainUX Enterprise connects to the broker.

GermainUX Engines connect successfully.

Required queues and topics are created.

Messages are consumed rather than accumulating.

Persistent-message storage remains healthy.

No recurring connection or authorization errors appear in logs.

Monitoring data reaches GermainUX dashboards.

👁️ Monitor ActiveMQ

Monitor:

Metric

Broker availability

Queue depth

Oldest-message age

Enqueue and dequeue rates

Consumer count

Memory utilization

Persistent-store utilization

Temporary-store utilization

Disk capacity

Connection failures

Dead-letter queues

Unexpected queue growth usually indicates a failed or slow consumer and should be investigated before disk capacity is exhausted.

🚚 Migration to Kafka

Organizations running a legacy ActiveMQ-based GermainUX release should plan migration to a supported Kafka-based release.

The migration may require changes to:

Area

GermainUX Enterprise

Messaging configuration

Service startup order

Network ports

Monitoring

High availability

Operational procedures

Do not remove ActiveMQ until the upgraded GermainUX environment has been validated end to end.

For legacy ActiveMQ configuration or Kafka migration assistance, contact Germain Software.


Service: Enterprise

Feature Availability: 2024.1