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

ActiveMQ Artemis生产者无法发送文件问题求助

ActiveMQ Artemis Producer CLI 使用 --data 参数报错 NoSuchElementException

问题场景

在Windows命令行执行以下Artemis生产者命令时:

artemis producer --message-count 1 --user xxx --password yyy --data /path/to/file

抛出如下异常:

Error occurred during import.  Rolling back.
java.util.NoSuchElementException: END_DOCUMENT reached: no more elements on the stream.
        at java.xml/com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.next(XMLStreamReaderImpl.java:593)
        at java.xml/com.sun.org.apache.xerces.internal.impl.XMLStreamReaderImpl.nextTag(XMLStreamReaderImpl.java:1346)
        at org.apache.activemq.artemis.cli.factory.serialize.XMLMessageSerializer.read(XMLMessageSerializer.java:52)
        at org.apache.activemq.artemis.cli.commands.messages.Producer.execute(Producer.java:175)
        at org.apache.activemq.artemis.cli.Artemis.internalExecute(Artemis.java:212)
        at org.apache.activemq.artemis.cli.Artemis.execute(Artemis.java:162)
        at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
        at java.base/java.lang.reflect.Method.invoke(Method.java:578)
        at org.apache.activemq.artemis.boot.Artemis.execute(Artemis.java:144)
        at org.apache.activemq.artemis.boot.Artemis.main(Artemis.java:61)

但改用--message参数直接传递消息内容时,命令可正常执行。

原因分析

从异常栈可见,CLI会通过XMLMessageSerializer解析指定文件的内容,这说明--data参数的设计用途是接收XML格式的结构化消息定义(包含消息体、属性等信息),而非普通文件路径。你的目标文件要么为空,要么内容不符合Artemis要求的XML消息格式,导致XML解析器读取到流末尾时抛出异常。

解决方案

根据实际需求选择以下任意一种方式:

  • 发送普通文件内容作为消息体:将--data替换为--file参数,该参数专门用于读取文件内容作为消息体发送,命令示例:
    artemis producer --message-count 1 --user xxx --password yyy --file /path/to/file
    
  • 使用XML格式消息定义:如果确实需要使用--data参数,确保目标文件内容符合Artemis的XML消息格式,示例格式如下:
    <message>
      <body>你的消息内容</body>
      <!-- 可按需添加消息属性 -->
      <property key="key1" value="value1"/>
    </message>
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 19:05:11