Как проверить размер полезной нагрузки

#mule #mule-esb

#mule #mule-esb

Вопрос:

Я получаю сообщение от Rabbit mq с байтом [] из исходного приложения. Я хочу проверить размер полезной нагрузки. Когда я пытаюсь проверить #[payload.size()], затем указываю количество байтов как 116 или 117, но я хочу точно размер сообщения. На самом деле, я получаю одно сообщение от Rabbit MQ, поэтому я хочу установить 1 в переменной или распечатать в журнале.

Комментарии:

1. Этот вопрос для Mule 3 или Mule 4?

Ответ №1:

Сообщение, полученное от RabbitMQ, будет полезной нагрузкой в Mule. Если это массив байтов (т. Е. byte[] в Java), то его размер или количество элементов в массиве должно быть payload.length .

В вопросе непонятно, зачем вам нужен размер, но не обязательно присваивать его переменной. Для ведения журнала вы можете преобразовать его в строку или каким-либо образом. Двоичные полезные нагрузки могут плохо отображаться в журналах.

Комментарии:

1. Я использовал полезную нагрузку. длина, но она дает 116 в качестве размера. Мне нужно 1, чтобы получить значение, поскольку я получаю по одному сообщению за раз. И у меня есть условие выбора после класса Java, поэтому мне нужно проверить размер, если размер равен 1, тогда я должен выполнить некоторую логику, поэтому… Пожалуйста, предложите.

Ответ №2:

в mule studio вы можете установить точку останова и проверить, как выглядит ваша полезная нагрузка, прежде чем пытаться получить ее размер, у нее могут быть некоторые другие биты, а не только ожидаемое сообщение, и поэтому вы получили его размер, а не 0, например: введите описание изображения здесь