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

如何在IBM MQ中添加多行消息?避免换行被识别为新消息

IBM MQ发送多行消息(以"}"为分隔符)

amqsput默认会把每行文本当作一条独立消息,所以换行会导致消息拆分。以下是两种可行的解决方法:

方法一:使用runmqsc直接读取文件发送单条消息

runmqsc支持从文件读取完整内容作为单条消息发送,无需担心换行拆分。执行以下命令:

echo "PUT QUEUE(XYZ.ABCD.DEF.Q.Q.Q.PUT.AQ) MSG(FILE('msg.txt'))" | runmqsc Q_Manager

这条命令会让MQ读取msg.txt的全部内容(包括所有换行),将其作为一条完整消息发送到目标队列。

方法二:预处理消息后用amqsput发送

通过awk提取到分隔符"}"为止的全部内容,再传递给amqsput发送:

# 提取到包含"}"的行为止的所有内容
MSG=$(awk '/}/ {print; exit} {print}' msg.txt)
# 将提取的内容作为单条消息发送
echo -e "$MSG" | /path/path XYZ.ABCD.DEF.Q.Q.Q.PUT.AQ Q_Manager

awk会读取msg.txt直到匹配到"}"的行(包含该行)后停止,确保提取的是完整的目标消息;echo -e保留内容中的换行符,管道传递给amqsput后,管道结束相当于手动输入消息后按Ctrl+D,从而发送单条多行消息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 22:36:05