Как написать в MQMessage: множественные вызовы записи или StringBuilder? - PullRequest
2 голосов
/ 18 апреля 2009

Я новичок в WebSphere MQ. Я использую классы IBM .NET (IBM.WMQ), чтобы поместить сообщение запроса, а затем получить ответное сообщение. Объект MQMessage имеет несколько методов Writexxx для различных типов данных. Мне нужно написать множество различных элементов данных в сообщении запроса. Мой вопрос заключается в том, должен ли я вызывать соответствующий метод Write для каждого отдельного элемента данных или я должен построить все это с помощью StringBuilder, а затем вызвать метод MQMessage WriteString один раз?

1 Ответ

2 голосов
/ 13 мая 2009

API записи должны помочь вам написать более понятный код, но тот, кто преобразовал API WMQ в .Net, - идиот.

Они написали 20 различных API вместо функции «write» с перегрузками. У вызова write есть несколько полезных перегрузок.

Они создали одно перечисление, которое имеет 100, если не тысячи опций, называемых MQC (MQ Constants). Веселитесь, но остерегайтесь транзакций на WMQ, так как использование этой функциональности сопряжено с небольшими затратами.

Теперь, когда я покончил с моей напыщенной работой, остерегайтесь API-интерфейсов, в которых большинство API-интерфейсов имеют ограничение со знаком int с точки зрения размера, только запись (массив byte []) и запись (строка s). Функция принимает большое сообщение. Также .net api записывает все строки UTF-16 в соответствии с реализацией .net, что может повлиять на вас.

...