Я пытаюсь записать простое строковое сообщение в очередь 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. Он сообщает о содержимом как SpESsESw�message
. Я ожидал, что содержимое будет message
[Дополнительная точка данных]
Я также вижу это в отдельной программе Go, написанной мной с использованием пакета pack.ag/amqp
.
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, я получаю похожее поведение, наблюдая за Su�vMy message
в деталях сообщения ActiveMQ. Может ли это быть просто аномалией веб-интерфейса?