Příkazový skript runwithtrace pro Linux
Chcete-li trasovat produkt MQ Explorer, zavřete jej a znovu spusťte pomocí příkazového skriptu runwithtrace. Kopii tohoto skriptu určenou pro systémy Linux® naleznete i v tomto tématu.
Zkopírujte a uložte následující skript jako textový soubor nazvaný runwithtrace.cmd a poté jej spusťte, jak popisuje krok 3 postupu "Využití trasování IBM® MQ Explorer v jiných prostředích Eclipse".
#!/bin/sh
#---------------------------------------------------------------------------
# Název souboru: runwithtrace
#
# Popis souboru: Tento skript se používá, když jsou moduly plug-in produktu MQ Explorer
# nainstalovány v jiném produktu Eclipse nebo produktu na bázi Eclipse.
# Spouští eclipse a spustí WebSphere MQ Explorer se zapnutým trasováním.
#
#---------------------------------------------------------------------------
# ---------------------------------------------------------------------------
# Speciální zpracování pro zapnutí trasování
# 1. Umožnit uživateli dodat vlastní soubor vlastností, na který ukazuje
# proměnná prostředí MQPROPERTIES
# 2. Jinak sestavit v adresáři /tmp soubor vlastností, který zapisuje trasování
# do adresáře /var/mqm/trace, pokud je takový zápis možný, jinak do samotného adresáře /tmp
# ---------------------------------------------------------------------------
# otestovat, zda je proměnná nastavena a zda neodkazuje na neexistující soubor
if [ -z "$MQPROPERTIES" -o ! -f "$MQPROPERTIES" ]
then
# Vytvořit soubor vlastností s výchozími volbami trasování
MQPROPERTIES=/tmp/mq_trace.properties
# -----------------------------------------------------
# Kam ukládat trasování - Nejdřív vyzkoušet adresář trace
# -----------------------------------------------------
echo "Confirming write access to the MQ trace directory /var/mqm/trace"
MQTRACE=/var/mqm/trace
# ověřit, zda adresář existuje a zda do něj lze zapisovat
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
# -------------------------------------------------------------
# Následně sestavit výchozí soubor vlastností
# -------------------------------------------------------------
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
# ---------------------------------------------------------------------------
# Sestavit příkazový řádek ke spuštění
# Podívat se do aktuálního adresáře
# Všechny parametry předané tomuto skriptu jsou předány dál.
# Nastavit volby proplétání času nutného pro načtení, nastavuje se v rámci parametru vmargs.
# ---------------------------------------------------------------------------
# Zvláštní případ, kdy jsou moduly plug-in produktu MQ Explorer nainstalovány v Eclipse nebo
# v produktu na bázi Eclipse.
# eclipse se musí nacházet v aktuálním adresáři.
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
# Poznámka.
# V eclipse a produktech na bázi eclipse je hodnota osgi.framework.extensions nastavena
# v rámci instalace modulů plug-in Equinox Weaving Eclipse.
# Proto je na rozdíl od normálního skriptu MQ Explorer skript LTW_OPTIONS prázdný
# LTW_OPTIONS=-Dosgi.framework.extensions=org.eclipse.equinox.weaving.hook
LTW_OPTIONS=
explorerCmd="$explorerCmd $* -vmargs -Xmx512M $LTW_OPTIONS -Dcom.ibm.mq.commonservices=$MQPROPERTIES"
# ---------------------------------------------------------------------------
# Spustit MQ Explorer
# ---------------------------------------------------------------------------
echo Launching $explorerCmd
exec $explorerCmd