cancel
Showing results for 
Search instead for 
Did you mean: 

Got a plan for replacing activemq with a high -performence one?

jianlai132
Champ in-the-making
Champ in-the-making

Since ActiveMQ/JMS 1.1 durable subscriptions is the bottleneck that restricts repository events processing and limit thes system throughput. Do we have a plan to replace activemq with a higher performence MQ middleware?

1 REPLY 1

angelborroy
Community Manager Community Manager
Community Manager

The statement that “ActiveMQ/JMS 1.1 durable subscriptions are the bottleneck that restrict repository events processing and limit system throughput” seems an oversimplification of how event processing works in Alfresco.

In Alfresco, ActiveMQ is the transport layer of the event pipeline, not the component that determines the overall processing throughput.

When something happens in the repository, the flow looks like this:

  1. A repository transaction commits
  2. The repository publishes an event to a JMS topic (for example alfresco.repo.event2)
  3. One or more consumers receive that event
  4. Those consumers perform further processing such as indexing, transformations, or integrations

ActiveMQ acts as a decoupling mechanism between services, allowing the repository to emit events asynchronously without blocking on downstream processing.

Because of this architecture, system throughput is determined by other components in the pipeline long before the messaging layer becomes the limiting factor. In practice, performance constraints are much more often related to:

  • repository transaction throughput
  • database performance
  • indexing capacity (Solr or Search Enterprise / Elasticsearch)
  • transform service capacity (content extraction)
  • consumer concurrency configuration
  • general infrastructure sizing

The use of JMS in Alfresco was a deliberate architectural decision to support an event-driven and loosely coupled platform. Durable subscriptions in particular ensure that events are not lost if a consumer is temporarily unavailable. Messages remain stored by the broker until the consumer processes them. This reliability property is often more important than raw throughput in enterprise content management systems, where consistency between repository and services must be preserved.

That said, messaging systems can become a limiting factor in some situations:

  • extremely high event volumes combined with slow consumers
  • insufficient broker resources (memory, disk I/O, persistence store configuration)
  • very large message payloads
  • low consumer concurrency or misconfigured prefetch limits
  • a single broker instance without clustering

In those cases the bottleneck is usually related to broker sizing or configuration, not the JMS specification itself.

The question of replacing ActiveMQ with another messaging system (Kafka, RabbitMQ, Pulsar, etc.) is therefore not only about throughput. It would involve significant architectural considerations such as delivery guarantees, ordering semantics, operational complexity, and compatibility with the existing event model. 

Hyland Developer Evangelist
Getting started

Explore our Alfresco products with the links below. Use labels to filter content by product module.