WebSphereMQ PCFMessageAgent / PCFAgent - Это потокобезопасно?

Я реализую MQ API для мониторинга и администрирования, используя библиотеку WebSphereMQ java PCF (Program Control Format). Я хотел бы знать, являются ли классы PCFAgent и / или PCFMessageAgent потокобезопасными. Документация не дает понять [для меня].

Если нет, то у меня есть 2 варианта:

  1. Создать пул агентов
  2. Создание (и отключение) агентов по запросу.

Любое понимание этого вопроса приветствуется.

Приветствия.

1 ответ

Решение

Важная информация, которую вы ищете, вероятно, находится на этой странице:

http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/index.jsp?topic=%2Fcom.ibm.mq.csqzaw.doc%2Fja11160_.htm

Основная проблема, которую вы увидите, заключается в том, что объект MQQueueManager (который вы либо передаете, либо создается для вас) не может в действительности делать 2 вещи одновременно на одном соединении.

Таким образом, если у вас есть один агент, который сидит в ожидании ответа на большой запрос (скажем, получая полную информацию о тысячах очередей), с этим соединением ничего нельзя сделать, пока ответ не вернется.

Подключение / отключение - это самая большая нагрузка при общении с MQ, поэтому, если вам нужен многопоточный доступ, я бы выбрал вариант 1, в противном случае вы заплатите большой штраф за производительность, ожидая подключения каждый раз.

Другие вопросы по тегам