barbitoff programmer`s blog

Здесь я публикую заметки из программерской жизни: грабли, на которые мне случилось наступить, проблемы, для которых было найдено элегантное (или не очень) решение, а также все, с чем мне пришлось столкнуться и чем хотелось бы поделиться =)
PS Если хотите меня поблагодарить - на странице есть 3 места, чтобы это сделать =)

суббота, 9 февраля 2013 г.

WSO2 ESB + IBM WebSphere MQ: ошибки при передаче больших сообщений

Вот пара ошибок, которые могут возникнуть на WSO2 ESB при попытке положить большое сообщение в MQ:

1) MQRC_MSG_TOO_BIG_FOR_Q:
com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ2007: Failed to send a message to destination 'xxx'. JMS attempted to perform an MQPUT or MQPUT1; however WebSphere MQ reported an error. Use the linked exception to determine the cause of this error.
        at com.ibm.msg.client.wmq.common.internal.Reason.reasonToException(Reason.java:608)
....
Caused by: com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2030' ('MQRC_MSG_TOO_BIG_FOR_Q').
Тут все понятно - сработало ограничение на максимальный размер сообщения, установленное для очереди. Меняем ограничение на большее, радуемся.

2) MQRC_DATA_LENGTH_ERROR:
com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ2007: Failed to send a message to destination 'wso2test2'. JMS attempted to perform an MQPUT or MQPUT1; however WebSphere MQ reported an error. Use the linked exception to determine the cause of this error.
        at com.ibm.msg.client.wmq.common.internal.Reason.reasonToException(Reason.java:608)
...
Caused by: com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2010' ('MQRC_DATA_LENGTH_ERROR').

Причина этой ошибки менее очевидна и кроется в ограничении на максимальный размер сообщения, установленном для канала соединения с сервером. Увеличиваем:


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

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

Отправить комментарий