You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ActiveMQ Artemis 2.6.0大消息相关问题求助

ActiveMQ Artemis 2.6.0 大消息相关问题求助

Web控制台消息可见性问题

大小超过100 KiB的消息无法在控制台显示(截图显示hawtio控制台提示不支持该消息)。已在集群连接配置中将min-large-message-size设置为1000 KiB(即1MB),理论上仅超过该阈值的消息才会存储到大消息目录,但该配置未按预期生效。

大消息目录消息编码问题

大消息目录中持久化的部分消息包含二进制字符,示例如下:

�x<?xml version="1.0" encoding="UTF-8"?> 
<Message

经测试这些特殊字符并非客户端添加,不确定这是否为预期行为,或是存在配置问题。

REST API浏览行为问题

使用curl命令通过REST API浏览并导出消息时,无法获取存储为大消息的内容。请问浏览操作是否应支持访问大消息?若不支持,需要何种配置或替代方法处理?(截图显示REST API返回无大消息内容)

此外,是否有替代工具可查看此类消息并导出为无二进制字符的XML备份?


附当前broker.xml配置

<?xml version='1.0'?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements.  See the NOTICE file
distributed with this work for additional information
regarding copyright ownership.  The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License.  You may obtain a copy of the License at

  http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied.  See the License for the
specific language governing permissions and limitations
under the License.
-->
<configuration xmlns="urn:activemq"
               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
               xmlns:xi="http://www.w3.org/2001/XInclude"
               xsi:schemaLocation="urn:activemq /schema/artemis-configuration.xsd">

   <core xmlns="urn:activemq:core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="urn:activemq:core ">

      <name>artemis-master</name>

      <persistence-enabled>true</persistence-enabled>

      <journal-type>ASYNCIO</journal-type>

      <paging-directory>/data-volume/artemis-master/data/paging</paging-directory>

      <bindings-directory>/data-volume/artemis-master/data/bindings</bindings-directory>

      <journal-directory>/data-volume/artemis-master/data/journal</journal-directory>

      <large-messages-directory>/data-volume/artemis-master/data/large-messages</large-messages-directory>

      <journal-datasync>true</journal-datasync>

      <journal-min-files>10</journal-min-files>

      <journal-pool-files>100</journal-pool-files>

      <journal-file-size>10M</journal-file-size>

      <journal-buffer-size>2M</journal-buffer-size>

      <journal-buffer-timeout>20000</journal-buffer-timeout>

      <journal-max-io>4096</journal-max-io>

     <connectors>
      <connector name="artemis-master">tcp://x.x.x.x:61616</connector>
      <connector name="artemis-slave">tcp://x.x.x.x:61616</connector>
     </connectors>

      <cluster-connections>
            <cluster-connection name="MQ_Cluster">
               <address></address>
               <connector-ref>artemis-master</connector-ref>
               <check-period>1000</check-period>
               <connection-ttl>60000</connection-ttl>
               <min-large-message-size>1000000</min-large-message-size>
               <call-timeout>30000</call-timeout>
               <retry-interval>500</retry-interval>
               <retry-interval-multiplier>1.0</retry-interval-multiplier>
               <max-retry-interval>5000</max-retry-interval>
               <initial-connect-attempts>-1</initial-connect-attempts>
               <reconnect-attempts>-1</reconnect-attempts>
               <use-duplicate-detection>true</use-duplicate-detection>
               <message-load-balancing>ON_DEMAND</message-load-balancing>
               <max-hops>1</max-hops>
               <confirmation-window-size>32000</confirmation-window-size>
               <call-failover-timeout>30000</call-failover-timeout>
               <notification-interval>1000</notification-interval>
               <notification-attempts>2</notification-attempts>
               <static-connectors>
                  <connector-ref>artemis-slave</connector-ref>
               </static-connectors>
            </cluster-connection>
      </cluster-connections>

      <disk-scan-period>5000</disk-scan-period>


      <max-disk-usage>90</max-disk-usage>

      <critical-analyzer>true</critical-analyzer>

      <critical-analyzer-timeout>120000</critical-analyzer-timeout>

      <critical-analyzer-check-period>60000</critical-analyzer-check-period>

      <critical-analyzer-policy>HALT</critical-analyzer-policy>

      <global-max-size>7Gb</global-max-size>

      <acceptors>

         <!-- Acceptor for every supported protocol -->
         <acceptor name="artemis">tcp://0.0.0.0:61616?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=CORE,AMQP,STOMP,HORNETQ,MQTT,OPENWIRE;useEpoll=true;amqpCredits=1000;amqpLowCredits=300;keepAlive=true</acceptor>

         <!-- AMQP Acceptor.  Listens on default AMQP port for AMQP traffic.-->
         <acceptor name="amqp">tcp://0.0.0.0:5672?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=AMQP;useEpoll=true;amqpCredits=1000;amqpLowCredits=300</acceptor>

         <!-- STOMP Acceptor. -->
         <acceptor name="stomp">tcp://0.0.0.0:61613?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=STOMP;useEpoll=true</acceptor>

         <!-- HornetQ Compatibility Acceptor.  Enables HornetQ Core and STOMP for legacy HornetQ clients. -->
         <acceptor name="hornetq">tcp://0.0.0.0:5445?anycastPrefix=jms.queue.;multicastPrefix=jms.topic.;protocols=HORNETQ,STOMP;useEpoll=true</acceptor>

         <!-- MQTT Acceptor -->
         <acceptor name="mqtt">tcp://0.0.0.0:1883?tcpSendBufferSize=1048576;tcpReceiveBufferSize=1048576;protocols=MQTT;useEpoll=true</acceptor>

      </acceptors>


      <cluster-user>admin</cluster-user>

      <cluster-password>admin</cluster-password>

      <ha-policy>
         <replication>
            <master>
              <check-for-live-server>true</check-for-live-server>
        </master>
         </replication>
      </ha-policy>

      <security-settings>
         <security-setting match="#">
            <permission type="createNonDurableQueue" roles="amq"/>
            <permission type="deleteNonDurableQueue" roles="amq"/>
            <permission type="createDurableQueue" roles="amq"/>
            <permission type="deleteDurableQueue" roles="amq"/>
            <permission type="createAddress" roles="amq"/>
            <permission type="deleteAddress" roles="amq"/>
            <permission type="consume" roles="amq"/>
            <permission type="browse" roles="amq"/>
            <permission type="send" roles="amq"/>
            <permission type="manage" roles="amq"/>
         </security-setting>
      </security-settings>

      <address-settings>
         <address-setting match="activemq.management#">
            <dead-letter-address>DLQ</dead-letter-address>
            <expiry-address>ExpiryQueue</expiry-address>
            <redelivery-delay>0</redelivery-delay>
            <max-size-bytes>-1</max-size-bytes>
            <message-counter-history-day-limit>10</message-counter-history-day-limit>
            <address-full-policy>PAGE</address-full-policy>
            <auto-create-queues>true</auto-create-queues>
            <auto-create-addresses>true</auto-create-addresses>
            <auto-create-jms-queues>true</auto-create-jms-queues>
            <auto-create-jms-topics>true</auto-create-jms-topics>
         </address-setting>
         <address-setting match="#">
            <dead-letter-address>DLQ</dead-letter-address>
            <expiry-address>ExpiryQueue</expiry-address>
            <redelivery-delay>0</redelivery-delay>
            <max-size-bytes>-1</max-size-bytes>
            <message-counter-history-day-limit>10</message-counter-history-day-limit>
            <address-full-policy>PAGE</address-full-policy>
            <auto-create-queues>false</auto-create-queues>
            <auto-create-addresses>false</auto-create-addresses>
            <auto-create-jms-queues>false</auto-create-jms-queues>
            <auto-create-jms-topics>false</auto-create-jms-topics>
         </address-setting>
      </address-settings>

      <addresses>
         <address name="DLQ">
            <anycast>
               <queue name="DLQ" />
            </anycast>
         </address>
         <address name="ExpiryQueue">
            <anycast>
               <queue name="ExpiryQueue" />
            </anycast>
         </address>

      </addresses>
   </core>
</configuration>

内容的提问来源于stack exchange,提问作者thedevopsguy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 21:45:54