<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Got a plan for replacing activemq with a high -performence one? in Alfresco Forum</title>
    <link>https://connect.hyland.com/t5/alfresco-forum/got-a-plan-for-replacing-activemq-with-a-high-performence-one/m-p/497089#M40790</link>
    <description>&lt;P&gt;The statement that &lt;EM&gt;“ActiveMQ/JMS 1.1 durable subscriptions are the bottleneck that restrict repository events processing and limit system throughput”&lt;/EM&gt;&amp;nbsp;seems an oversimplification of how event processing works in Alfresco.&lt;/P&gt;
&lt;P&gt;In Alfresco, &lt;EM&gt;ActiveMQ is the transport layer of the event pipeline,&lt;/EM&gt; not the component that determines the overall processing throughput.&lt;/P&gt;
&lt;P&gt;When something happens in the repository, the flow looks like this:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;A repository transaction commits&lt;/LI&gt;
&lt;LI&gt;The repository publishes an event to a JMS topic (for example &lt;CODE&gt;alfresco.repo.event2&lt;/CODE&gt;)&lt;/LI&gt;
&lt;LI&gt;One or more consumers receive that event&lt;/LI&gt;
&lt;LI&gt;Those consumers perform further processing such as indexing, transformations, or integrations&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;ActiveMQ acts as a &lt;EM&gt;decoupling mechanism between services&lt;/EM&gt;, allowing the repository to emit events asynchronously without blocking on downstream processing.&lt;/P&gt;
&lt;P&gt;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:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;repository transaction throughput&lt;/LI&gt;
&lt;LI&gt;database performance&lt;/LI&gt;
&lt;LI&gt;indexing capacity (Solr or Search Enterprise / Elasticsearch)&lt;/LI&gt;
&lt;LI&gt;transform service capacity (content extraction)&lt;/LI&gt;
&lt;LI&gt;consumer concurrency configuration&lt;/LI&gt;
&lt;LI&gt;general infrastructure sizing&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;The use of JMS in Alfresco was a deliberate architectural decision to support an event-driven and loosely coupled platform.&amp;nbsp;Durable subscriptions in particular ensure that &lt;EM&gt;events are not lost if a consumer is temporarily unavailable&lt;/EM&gt;. 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.&lt;/P&gt;
&lt;P&gt;That said, messaging systems can become a &lt;STRONG&gt;limiting factor&lt;/STRONG&gt; in some situations:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;extremely high event volumes combined with slow consumers&lt;/LI&gt;
&lt;LI&gt;insufficient broker resources (memory, disk I/O, persistence store configuration)&lt;/LI&gt;
&lt;LI&gt;very large message payloads&lt;/LI&gt;
&lt;LI&gt;low consumer concurrency or misconfigured prefetch limits&lt;/LI&gt;
&lt;LI&gt;a single broker instance without clustering&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;In those cases the bottleneck is usually related to &lt;STRONG&gt;broker sizing or configuration&lt;/STRONG&gt;, not the JMS specification itself.&lt;/P&gt;
&lt;P&gt;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.&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Mon, 16 Mar 2026 16:22:56 GMT</pubDate>
    <dc:creator>angelborroy</dc:creator>
    <dc:date>2026-03-16T16:22:56Z</dc:date>
    <item>
      <title>Got a plan for replacing activemq with a high -performence one?</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/got-a-plan-for-replacing-activemq-with-a-high-performence-one/m-p/497078#M40789</link>
      <description>&lt;P&gt;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?&lt;/P&gt;</description>
      <pubDate>Mon, 16 Mar 2026 06:03:29 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/got-a-plan-for-replacing-activemq-with-a-high-performence-one/m-p/497078#M40789</guid>
      <dc:creator>jianlai132</dc:creator>
      <dc:date>2026-03-16T06:03:29Z</dc:date>
    </item>
    <item>
      <title>Re: Got a plan for replacing activemq with a high -performence one?</title>
      <link>https://connect.hyland.com/t5/alfresco-forum/got-a-plan-for-replacing-activemq-with-a-high-performence-one/m-p/497089#M40790</link>
      <description>&lt;P&gt;The statement that &lt;EM&gt;“ActiveMQ/JMS 1.1 durable subscriptions are the bottleneck that restrict repository events processing and limit system throughput”&lt;/EM&gt;&amp;nbsp;seems an oversimplification of how event processing works in Alfresco.&lt;/P&gt;
&lt;P&gt;In Alfresco, &lt;EM&gt;ActiveMQ is the transport layer of the event pipeline,&lt;/EM&gt; not the component that determines the overall processing throughput.&lt;/P&gt;
&lt;P&gt;When something happens in the repository, the flow looks like this:&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;A repository transaction commits&lt;/LI&gt;
&lt;LI&gt;The repository publishes an event to a JMS topic (for example &lt;CODE&gt;alfresco.repo.event2&lt;/CODE&gt;)&lt;/LI&gt;
&lt;LI&gt;One or more consumers receive that event&lt;/LI&gt;
&lt;LI&gt;Those consumers perform further processing such as indexing, transformations, or integrations&lt;/LI&gt;
&lt;/OL&gt;
&lt;P&gt;ActiveMQ acts as a &lt;EM&gt;decoupling mechanism between services&lt;/EM&gt;, allowing the repository to emit events asynchronously without blocking on downstream processing.&lt;/P&gt;
&lt;P&gt;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:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;repository transaction throughput&lt;/LI&gt;
&lt;LI&gt;database performance&lt;/LI&gt;
&lt;LI&gt;indexing capacity (Solr or Search Enterprise / Elasticsearch)&lt;/LI&gt;
&lt;LI&gt;transform service capacity (content extraction)&lt;/LI&gt;
&lt;LI&gt;consumer concurrency configuration&lt;/LI&gt;
&lt;LI&gt;general infrastructure sizing&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;The use of JMS in Alfresco was a deliberate architectural decision to support an event-driven and loosely coupled platform.&amp;nbsp;Durable subscriptions in particular ensure that &lt;EM&gt;events are not lost if a consumer is temporarily unavailable&lt;/EM&gt;. 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.&lt;/P&gt;
&lt;P&gt;That said, messaging systems can become a &lt;STRONG&gt;limiting factor&lt;/STRONG&gt; in some situations:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;extremely high event volumes combined with slow consumers&lt;/LI&gt;
&lt;LI&gt;insufficient broker resources (memory, disk I/O, persistence store configuration)&lt;/LI&gt;
&lt;LI&gt;very large message payloads&lt;/LI&gt;
&lt;LI&gt;low consumer concurrency or misconfigured prefetch limits&lt;/LI&gt;
&lt;LI&gt;a single broker instance without clustering&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;In those cases the bottleneck is usually related to &lt;STRONG&gt;broker sizing or configuration&lt;/STRONG&gt;, not the JMS specification itself.&lt;/P&gt;
&lt;P&gt;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.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Mon, 16 Mar 2026 16:22:56 GMT</pubDate>
      <guid>https://connect.hyland.com/t5/alfresco-forum/got-a-plan-for-replacing-activemq-with-a-high-performence-one/m-p/497089#M40790</guid>
      <dc:creator>angelborroy</dc:creator>
      <dc:date>2026-03-16T16:22:56Z</dc:date>
    </item>
  </channel>
</rss>

