【发布时间】:2019-10-04 01:02:21
【问题描述】:
我正在尝试将简单的字符串消息写入 ActiveMQ 队列:
def write_to_amq(message, host_name, port, queue):
conn = BlockingConnection(f'{host_name}:{port}')
sender = conn.create_sender(queue)
sender.send(Message(body='message'))
conn.close()
消息很好地到达队列,但是当我在 ActiveMQ Web UI 上查看它时,它似乎有一些二进制数据。它将内容报告为SpESsESw�message。我原以为内容只是message
[附加数据点]
我还在使用 pack.ag/amqp 包编写的单独 Go 程序中看到了这一点。
func (s *amqpSender) SendResult(data string) error {
session, err := s.client.NewSession()
if err != nil {
return fmt.Errorf("failure creating AMQP session: %s", err)
}
ctx := context.Background()
sender, err := session.NewSender(
amqp.LinkTargetAddress(s.workQueueName),
)
if err != nil {
return fmt.Errorf("failure creating sender link: %s", err)
}
ctx, cancel := context.WithTimeout(ctx, s.timeout)
defer func() {
cancel()
sender.Close(ctx)
}()
err = sender.Send(ctx, amqp.NewMessage([]byte(data)))
if err != nil {
return fmt.Errorf("failure sending message: %s", err)
}
return nil
}
当我向 ActiveMQ 发送不同的消息时,我会得到类似的行为,在 ActiveMQ 消息详细信息中看到Su�vMy message。这可能只是 Web UI 异常吗?
【问题讨论】:
-
你解决了这个家伙吗,我在 2020 年 4 月遇到了同样的问题
-
对不起,@FelipeBuccioni 我没有。从那以后我转移到其他项目并且不记得解决方案(如果有的话)