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

вторник, 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=''

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

среда, 17 июля 2013 г.

Настройка старта IBM Websphere MQ и Message Broker как системного сервиса на SUSE Linux Enterprise Server 11 SP2 и CentOS 6.6

Для того, что бы Websphere MQ и  Message Broker автоматически запускались при старте системы выполняем следующие действия:

1) Качаем с сайта IBM Support Pack "MSL1: WebSphere MQ for Linux - Automatic Startup"

2) Разархивируем его и запускаем MSL1-1.0.1-1.noarch.rpm на установку
sudo rpm -ivh MSL1-1.0.1-1.noarch.rpm

3) Проверяем в YAST->System-> System Services (Runlevel), что бы ibm.com-WebSphere_MQ был в статусе "enabled". В случае необходимости включаем его

4) Готово

Для автоматического старта Message Broker вместе с MQ он должен быть объявлен как defined
./mqsicreatebroker QM_DEV1.BRK -q QM_DEV1 -d defined
Это можно сделать как при создании (строка выше), так изменить уже созданный экземпляр (см. справку Message Broker)

Если нет возможности установить rpm, то можно залезть внутрь него любым архиватором и выдернуть из него файлы /etc/conf.d/ibm.com-WebSphere_MQ и /etc/init.d/ibm.com-WebSphere_MQ и положить их в соответствующие папки на сервере. После чего включить сервис в YAST->System-> System Services (Runlevel)

понедельник, 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) Готово

среда, 5 июня 2013 г.

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

В данной статье рассказано о установке IBM Websphere MQ 7.5 на  SUSE Linux Enterprise Server 11 SP2 (SLES 11 SP2) и CentOS 6.6.

1) Распаковываем дистрибутив

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

3) Принимаем лицензионное соглашение
sudo ./mqlicense.sh

4) Устанавливаем необходимые пакеты:
sudo rpm -ivh MQSeriesRuntime-7.5.0-0.x86_64.rpm MQSeriesServer-7.5.0-0.x86_64.rpm MQSeriesSDK-7.5.0-0.x86_64.rpm MQSeriesClient-7.5.0-0.x86_64.rpm MQSeriesJava-7.5.0-0.x86_64.rpm MQSeriesJRE-7.5.0-0.x86_64.rpm

Для того, что бы установить компоненты в директорию, отличную от директории по-умолчанию (/opt/mqm)
используем
sudo rpm --prefix /opt/customLocation -ivh MQSeriesRuntime-7.5.0-0.x86_64.rpm MQSeriesServer-7.5.0-0.x86_64.rpm MQSeriesSDK-7.5.0-0.x86_64.rpm MQSeriesClient-7.5.0-0.x86_64.rpm MQSeriesJava-7.5.0-0.x86_64.rpm MQSeriesJRE-7.5.0-0.x86_64.rpm

4.1) При необходимости устанавливем MQ Explorer (на сервере с доступом только через консоль(без GUI) не нужно)
sudo rpm -ivh MQSeriesExplorer-7.5.0-0.x86_64.rpm

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

6) Устанавливаем проинсталлированный MQ как профиль по-умолчанию
cd /opt/mqm/bin
sudo ./setmqinst -i -p /opt/mqm

7) Проверяем установку
dspmqver
В результате получаем:
Name:        WebSphere MQ
Version:     7.5.0.0
Level:       p000-L120604
BuildType:   IKAP - (Production)
Platform:    WebSphere MQ for Linux (x86-64 platform)
Mode:        64-bit
O/S:         Linux 3.0.13-0.27-default
InstName:    Installation1
InstDesc:  
InstPath:    /opt/mqm
DataPath:    /var/mqm
Primary:     Yes
MaxCmdLevel: 750

8) Создаем QueueManager, запускаем его, смотрим статус
crtmqm QM_DEV1
strmqm QM_DEV1
dspmq -m QM_DEV1
В ответ на последнюю команду должны получить:
QMNAME(QM_DEV1)                                           STATUS(Running)

9) При необходимости отключаем Channel Authentication (Подробнее можно почитать по этой ссылке)
Запускаем консоль MQ:
runmqsc QM_DEV1

В консоли вводим команду:
ALTER QMGR CHLAUTH(DISABLED)

10) Создаем Listener
Запускаем консоль MQ:
runmqsc QM_DEV1
Создаем Listener
DEFINE LISTENER(DEFLISTENER) TRPTYPE(TCP) PORT(1414) CONTROL(QMGR) DESCR('Default listener')
Запускаем его
START LISTENER(DEFLISTENER)
Смотрим статус
DISPLAY LISTENER(DEFLISTENER)

11) Все готово