Показаны сообщения с ярлыком WMB. Показать все сообщения
Показаны сообщения с ярлыком WMB. Показать все сообщения

вторник, 28 апреля 2015 г.

Просмотр активного порта HTTP Listener для конкретной execution group для IBM Websphere MessageBroker



Для просмотра активного порта HTTP Listener для конкретной execution group для IBM Websphere MessageBroker выполняем команды:

#!/bin/sh
. /opt/ibm/mqsi/8.0.0.2/bin/mqsiprofile
 /opt/ibm/mqsi/8.0.0.2/bin/mqsireportproperties {BROKER_NAME} -e {EXECUTION_GROUP_NAME} -o HTTPConnector -a

На выводе в консоль получаем

HTTPConnector
  uuid='HTTPConnector'
  userTraceLevel='none'
  traceLevel='none'
  userTraceFilter='none'
  traceFilter='none'
  port='7080'
  address=''
  allowTrace=''
  maxPostSize=''
  acceptCount=''
  bufferSize=''
  compressableMimeTypes=''
  compression=''
  connectionLinger=''
  connectionTimeout=''
  maxHttpHeaderSize=''
  maxKeepAliveRequests=''
  maxSpareThreads=''
  maxThreads=''
  minSpareThreads=''
  noCompressionUserAgents=''
  restrictedUserAgents=''
  socketBuffer=''
  tcpNoDelay=''
  explicitlySetPortNumber=''
  enableLookups=''
  enableMQListener=''
  shutdownDelay=''
  allowCrossConnectorPolling=''
  autoRespondHTTPHEADRequests=''

, где жирным шрифтом выделена нужная нам информация

понедельник, 8 июля 2013 г.

Message Broker: формирование MQ сообщения для JMS

Периодически возникает задача формирования корректного MQ сообщения, такого, что бы его могло нормально распознать и распарсить приложение написанное на Java и работающее с MQ через JMS (далее просто JavaApp).
Для того, что бы JavaApp могло нормально распознать MQ сообщение необходимо заполнение следующих полей в заголовке сообщения (скрины сделаны из rfhutil):





С параметрами MQ MessageFormat, MessageType и полями в RFH.usr проблем не возникает.
Пример заполнения в коде (обязательные поля выделены жирным):

SET OutputRoot.MQMD.MsgType = MQMT_REQUEST;
SET OutputRoot.MQMD.Format = MQFMT_RF_HEADER_2;
SET OutputRoot.MQMD.Encoding = MQENC_NATIVE;
SET OutputRoot.MQMD.CodedCharSetId = 1208;
SET OutputRoot.MQRFH2.(MQRFH2.Field)Format = MQFMT_STRING;
SET OutputRoot.MQRFH2.jms.Dlv = '2'; -- Желательно указать для того, что бы было заполнено поле MQRFH2.jms
SET OutputRoot.MQRFH2.usr.TargetFunctionName = 'autoFinishCall';

Примечание: поле MQRFH2.usr.TargetFunctionName используется в продуктах IBM Websphere ESB для определения целевой функции и не является обязательным для корректного распознавания JMS-клиентом.

Но для задания Message Domain значения 'jms_text' простая запись вида:
OutputRoot.MQRFH2.mcd.Msd = 'jms_text';
не помогает.
ВНИМАНИЕ: для версии WMB 8.0.0.5 совет из описания ниже уже не актуален, так как все работает в виде
OutputRoot.MQRFH2.mcd.Msd = 'jms_text';

Для этого требуется требуется выполнить следующие действия:

Вставляем в message flow проекта сразу перед 'MQOutput Node' компоненту 'Reset Content Descriptor Node' (Prepare JMS Message на схеме) и заполняем в ней поле Message domain значением 'jms_text'.
Этим мы сбрасываем свойство Message Domain сообщения в необходимое значение.
При необходимости после отправки сообщения снова вставляем компоненту 'Reset Content Descriptor Node'  (Reset to XMLNSC на схеме)  и заполняем в ней поле Message domain значением значением из выпадающего списка, например 'XMLNSC'

Пример:

В этом случае Java JMS клиенты корректно принимают сообщения отправленные из Message Broker.

пятница, 7 июня 2013 г.

Установка IBM WebSphere Message Broker Toolkit V8 на SUSE Linux Enterprise Server 11 SP2 и CentOS 6.6

Продолжаем цикл статей по установке Message Broker на SLES11SP2

Предыдущие части:
Установка IBM Websphere MQ 7.5 на SUSE Linux Enterprise Server 11 SP2 и CentOS 6.6
Установка IBM Websphere MessageBroker 8 на SUSE Linux Enterprise Server 11 SP2 и CentOS 6.6
Настройка ODBC datasource для IBM Websphere Message Broker

Установку будем выполнять в silent-режиме, так как Message Broker Toolkit может быть нужен не только для разработки, но и для сборки проекта из исходников, например при организации сборочного конвейера (об этом планирую написать в следующей статье)

Собственно в установке ничего сложного нет:

Установка Message Broker Toolkit


1) Качаем и распаковываем дистрибутив (три пакета должны быть распакованы в одну папку)
После распаковки должны получиться лежащие рядом три папки (disk1, disk2 и disk3)

2) Заходим в disk1

3) Запускаем процесс инсталляции под root
sudo ./installToolkit-silent.sh

4) Ждем окончания процесса установки

5) Все готово
Toolkit поставился по-умолчанию и /opt/IBM/WMBT800 и доступен в списке приложений SUSE

Обновление Message Broker Toolkit

Теперь поставим последние патчи на Toolkit (я обновлял до 8.0.0.2)
Ставим обновления сразу с сайта IBM, поэтому должен быть доступ к интернет.

1) IBM Installation Manager у нас уже поставился вместе с Toolkit, поэтому идем в папку /opt/IBM/InstallationManager/eclipse/tools
cd /opt/IBM/InstallationManager/eclipse/tools

2) Установку производим в консольном режиме:
sudo ./imcl -c

3) Проходим по всех шагам мастера установки, отвечая на вопросы

4) Дожидаемся окончания установки

5) Готово. Теперь у нас обновленный до последней версии Toolkit.



четверг, 6 июня 2013 г.

Установка IBM Websphere Message Broker и Message Broker Explorer v8 на SUSE Linux Enterprise Server 11 SP2 и CentOS 6.6

В данной статье рассказано о установке IBM Websphere MessageBroker 8 на  SUSE Linux Enterprise Server 11 SP2

Перед выполнением инструкций необходимо установить IBM Websphere MQ 7.5
Инструкция приведена в статье Установка IBM Websphere MQ 7.5 на SUSE Linux Enterprise Server 11 SP2 и CentOS 6.6.

1) Распаковываем дистрибутив (В моем случае дистрибутив версии 8.0.0.1)

2) Переходим в папку с распакованным дистрибутивом

3) Запускаем инсталлятор в консольном режиме
sudo ./setuplinuxx64 -i console

4) Проходим по всем этапам установки (можно указать путь по которому производится установка)

5) Добавляем пользователей в группу mqbrkrs
OpenSUSE/SLES
sudo /usr/sbin/usermod -A mqbrkrs {user}
sudo /usr/sbin/usermod -A mqbrkrs root
CentOS/Redhat
sudo /usr/sbin/usermod -a -G mqbrkrs {user}
sudo /usr/sbin/usermod -a -G mqbrkrs root

6) При необходимости ставим патч (В моем случае дистрибутив версии 8.0.0.5)
Распаковываем дистрибутив патча в отдельную папку, переходим в нее и повторяем шаги 3 и 4 описанные ранее

7) Переходим в папку с установленным MessageBroker
cd /opt/ibm/mqsi/8.0.0.5/bin

8) Создаем новый broker, запускаем его и смотрим статус
. ./mqsiprofile
./mqsicreatebroker QM_DEV1.BRK -q QM_DEV1 -d defined
./mqsistart QM_DEV1.BRK
./mqsireportbroker QM_DEV1.BRK

9) Копируем из папки /opt/ibm/mqsi/8.0.0.2/ODBC/unixodbc в папку /var/mqsi/odbc файл odbc.ini

10) Создаем в папке /var/mqsi/common/profiles файл odbc.sh (не забываем установить флаг на исполнение) со следующим содержимым:

#!/bin/sh
ODBCINI=${MQSI_WORKPATH}/odbc/odbc.ini
export ODBCINI

11) Выполняем действия описанные в статье Настройка ODBC datasource для IBM Websphere Message Broker

12) Для запуска WMB можно создать скрипт со следующим содержимым:

#!/bin/sh
. /opt/ibm/mqsi/8.0.0.5/bin/mqsiprofile
/opt/ibm/mqsi/8.0.0.5/bin/mqsistart QM_DEV1.BRK

13) Готово

При необходимости устанавливаем MessageBroker Explorer из папки /MBExplorer (на сервере с доступом только через консоль (без GUI) не нужно)

1) В распакованном ранее дистрибутве переходим в папку MBExplorer
cd /MBExplorer

2) Запускаем установку в консольном режиме
sudo ./install.bin -i console

3) Проходим по всем этапам установки (можно указать путь по которому производится установка)

4) Готово

понедельник, 29 апреля 2013 г.

Настройка ODBC datasource для IBM Websphere Message Broker


1) Настраиваем ODBC источник (ODBC.ini для *nix или через панель управления для Windows)

Для Windows - через панель управления (Панель управления->Администрирование->Источники данных (ODBC)->Системный DSN)
Создаем новой источник данных. В качестве драйвера выбираем "Websphere Message Broker ({Версия брокера}) - DataDirect Technologies {Название СУБД}"
Прописываем все необходимые параметры в открывшемся окне

Для *nix настройку производим через odbc.ini (для WMB 8.0 файл по-умолчанию лежит в /var/mqsi/odbc)


2) Выполняем команду
. ./mqsiprofile
./mqsisetdbparms {BROKER_NAME} -n {datasource_name} -u {user_name} -p {password}
Должно появится сообщение о успешном выполнении команды:
BIP8071I: Successful command completion. 

3) Для проверки выполняем команду
./mqsicvp -n {datasource_name} -u {user_name} -p {password}
Должно появится сообщение о успешном выполнении команды:

Длинная простыня описания БД, драйвера и т.п.
и в конце BIP8071I: Successful command completion. 

Все готово