Configuring ActiveMQ Persistence and Memory Usage in Kubernetes for DevTest
search cancel

Configuring ActiveMQ Persistence and Memory Usage in Kubernetes for DevTest

book

Article ID: 449047

calendar_today

Updated On:

Products

Service Virtualization

Issue/Introduction

Users operating DevTest (Service Virtualization) within a Kubernetes (K8s) environment may need to proactively tune ActiveMQ broker-level parameters but find that these settings are not directly exposed through standard configuration files or environment variables in earlier versions.

Parameters often requested for tuning include:

  • Persistence Settings: Controlling whether messages are persistent (persistent=true/false) and the disk sync strategy (journalDiskSyncStrategy).
  • Memory Management: Setting limits for memoryUsagestoreUsage (disk), and tempUsage (temporary storage for large messages).

Environment

  • Product: DevTest / Service Virtualization
  • Version: 10.8.4 and earlier
  • Deployment: Kubernetes (Docker images)

Cause

In versions prior to 10.8.4.2, the ActiveMQ broker embedded within the messaging pod did not have specific hooks to override internal persistence and memory usage defaults via Kubernetes environment configuration.

Resolution

This capability was introduced in DevTest version 10.8.4.2. To apply these configurations, you must upgrade to the 10.8.4.2 service pack images and pass specific system properties to the messaging component.

  1. Obtain Version 10.8.4.2 Images
    Pull the updated service pack images from the Broadcom Docker registry:

sv-docker.packages.broadcom.com/sv/portal:10.8.4.2
sv-docker.packages.broadcom.com/sv/lisa:10.8.4.2
sv-docker.packages.broadcom.com/sv/config-server:10.8.4.2
sv-docker.packages.broadcom.com/sv/enterprise-dashboard:10.8.4.2

2. Configure Broker Properties
Pass the following JVM system properties to the messaging pod to override default ActiveMQ behavior:

Persistence Control
 Enable/Disable Persistence:

-Ddevtest.messaging.persistence.enabled=true|false

(Setting this to false improves throughput but reduces reliability for persistent messages.)

Usage Limits
Store Usage (Disk): -

-Ddevtest.messaging.system_usage.store_usage_limit_in_megabytes=[value]

Temporary Usage: -

-Ddevtest.messaging.system_usage.temporary_usage_limit_in_megabytes=[value]


3. Verification:
After deploying the updated images with the new properties, verify the configuration by inspecting the logs within the messaging pod at: /home/devtest/.devtest/logs/Messaging/amq/