Командный сценарий runwithtrace для Linux
Для трассировки MQ Explorer закройте и перезапустите MQ Explorer с помощью командного сценария runwithtrace. В этом разделе приведена копия сценария для систем Linux®.
Скопируйте и вставьте следующий сценарий в текстовый файл с именем runwithtrace.cmd и запустите сценарий в соответствии с инструкциями из описания шага 3 в разделе "Применение трассировки IBM® MQ Explorer в других средах Eclipse".
#!/bin/sh
#---------------------------------------------------------------------------
# Имя файла: runwithtrace
#
# Описание файла: этот сценарий применяется в случае установки модулей MQ
# Explorer в другом экземпляре Eclipse или продукта на основе Eclipse.
# Он запускает eclipse, а затем включает трассировку при запуске WebSphere MQ Explorer.
#
#---------------------------------------------------------------------------
# ---------------------------------------------------------------------------
# Специальная обработка для включения трассировки
# 1. Пользователь может указать собственный файл свойств с помощью
# переменной среды MQPROPERTIES
# 2. В противном случае создается файл свойств в /tmp, который записывает
# данные трассировки в каталог /var/mqm/trace (если он доступен для
# записи) или в каталог /tmp
# ---------------------------------------------------------------------------
# Проверка, что переменная задана и указанный файл существует
if [ -z "$MQPROPERTIES" -o ! -f "$MQPROPERTIES" ]
then
# Создание файла свойств с параметрами трассировки по умолчанию
MQPROPERTIES=/tmp/mq_trace.properties
# -----------------------------------------------------
# Выбор расположения для сохранения данных трассировки - сначала проверяется каталог trace
# -----------------------------------------------------
echo "Confirming write access to the MQ trace directory /var/mqm/trace"
MQTRACE=/var/mqm/trace
# Проверка, что каталог существует и доступен для записи
if [ -d $MQTRACE -a -w $MQTRACE ]
then
echo "Trace will be written to the MQ trace directory /var/mqm/trace"
else
echo "Trace will be written to the temporary directory /tmp"
MQTRACE=/tmp
fi
# -------------------------------------------------------------
# Компоновка файла свойств по умолчанию
# -------------------------------------------------------------
echo Diagnostics.MQ=enabled > $MQPROPERTIES
echo Diagnostics.Java=all >> $MQPROPERTIES
echo Diagnostics.Java.Trace.Detail=high >> $MQPROPERTIES
echo Diagnostics.Java.Trace.Destination.File=enabled >> $MQPROPERTIES
echo Diagnostics.Java.Trace.Destination.Console=disabled >> $MQPROPERTIES
echo Diagnostics.Java.Trace.Destination.Pathname=$MQTRACE >> $MQPROPERTIES
echo Diagnostics.Java.FFDC.Destination.Pathname=$MQTRACE >> $MQPROPERTIES
echo Diagnostics.Java.Errors.Destination.Filename=$MQTRACE >> $MQPROPERTIES
fi
# ---------------------------------------------------------------------------
# Создание команды для выполнения
# Поиск в текущем каталоге
# Все параметры сценария передаются команде.
# Параметры weaving времени загрузки указываются в параметре vmargs.
# ---------------------------------------------------------------------------
# Специальный случай, когда модули MQ Explorer установлены в Eclipse
# или продукте на основе Eclipse.
# Среда eclipse должна быть расположена в текущем каталоге.
if [ -f "eclipse" ]
then
explorerCmd="./eclipse"
fi
if [ ! -f "${explorerCmd}" ]
then
echo "ERROR - eclipse executable could not be found in the current directory"
echo "ERROR - This script needs to be run in the same directory as the eclipse executable"
exit 1
fi
# Примечание.
# В eclipse и продуктах на основе eclipse параметр osgi.framework.extensions
# настраивается в конфигурации модулей Equinox Weaving.
# Таким образом, в отличие от обычного сценария MQ Explorer параметр LTW_OPTIONS будет пустым
# LTW_OPTIONS=-Dosgi.framework.extensions=org.eclipse.equinox.weaving.hook
LTW_OPTIONS=
explorerCmd="$explorerCmd $* -vmargs -Xmx512M $LTW_OPTIONS -Dcom.ibm.mq.commonservices=$MQPROPERTIES"
# ---------------------------------------------------------------------------
# Запуск MQ Explorer
# ---------------------------------------------------------------------------
echo Launching $explorerCmd
exec $explorerCmd