Skrypt komend runwithtrace dla systemu Linux
Aby śledzić program MQ Explorer, zamknij i zrestartuj program MQ Explorer, używając skryptu komend runwithtrace. Kopia tego skryptu przeznaczona dla systemów Linux® jest dołączona do tego tematu.
Skopiuj i zapisz poniższy skrypt jako plik tekstowy o nazwie runwithtrace.cmd, a następnie uruchom skrypt w sposób opisany w kroku 3 sekcji Używanie śledzenia programu IBM® MQ Explorer w innych środowiskach Eclipse.
#!/bin/sh
#---------------------------------------------------------------------------
# Nazwa pliku: runwithtrace
#
# Opis pliku: Ten skrypt jest używany, jeśli wtyczki programu MQ Explorer są
# zainstalowane w innym środowisku Eclipse lub produkcie opartym na środowisku Eclipse.
# Uruchamia on środowisko Eclipse i uruchamia program WebSphere MQ Explorer z włączonym śledzeniem.
#
#---------------------------------------------------------------------------
# ---------------------------------------------------------------------------
# Specjalne przetwarzanie w celu włączenia śledzenia
# 1. Zezwolenie użytkownikowi na udostępnienie własnego pliku właściwości
# wskazanego przez zmienną środowiskową MQPROPERTIES
# 2. W przeciwnym razie: zbudowanie w katalogu /tmp pliku właściwości, który
# zapisuje dane śledzenia do katalogu /var/mqm/trace (jeśli można w nim zapisywać)
# lub w samym katalogu /tmp
# ---------------------------------------------------------------------------
# Testowanie, czy zmienna jest ustawiona i czy nie wskazuje nieistniejącego pliku
if [ -z "$MQPROPERTIES" -o ! -f "$MQPROPERTIES" ]
then
# Utworzenie pliku właściwości z domyślnymi opcjami śledzenia
MQPROPERTIES=/tmp/mq_trace.properties
# -----------------------------------------------------
# Miejsce zapisu danych śledzenia, najpierw podejmowana jest próba w katalogu śledzenia
# -----------------------------------------------------
echo "Potwierdzanie dostępu do zapisu w katalogu śledzenia produktu MQ /var/mqm/trace"
MQTRACE=/var/mqm/trace
# Testowanie, czy katalog istnieje i czy można w nim zapisywać
if [ -d $MQTRACE -a -w $MQTRACE ]
then
echo "Dane śledzenia zostaną zapisane w katalogu śledzenia produktu MQ /var/mqm/trace"
else
echo "Dane śledzenia zostaną zapisane w katalogu tymczasowym /tmp"
MQTRACE=/tmp
fi
# -------------------------------------------------------------
# Budowanie domyślnego pliku właściwości
# -------------------------------------------------------------
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
# ---------------------------------------------------------------------------
# Budowanie wiersza komend do uruchomienia
# Przeglądanie katalogu bieżącego
# Wszystkie parametry przekazane do tego skryptu są przekazywane dalej.
# Należy ustawić opcje manipulowania kodem bajtowym w czasie ładowania.
# Są one ustawiane jako część parametru vmargs.
# ---------------------------------------------------------------------------
# Przypadek specjalny, gdy wtyczki programu MQ Explorer są instalowane
# w środowisku Eclipse lub produkcie opartym na środowisku Eclipse.
# Środowisko Eclipse musi znajdować się w katalogu bieżącym.
if [ -f "eclipse" ]
then
explorerCmd="./eclipse"
fi
if [ ! -f "${explorerCmd}" ]
then
echo "BŁĄD: Nie można znaleźć pliku wykonywalnego eclipse w katalogu bieżącym"
echo "BŁĄD: Ten skrypt musi być uruchamiany w tym samym katalogu, co plik wykonywalny eclipse"
exit 1
fi
# Uwaga:
# W środowisku Eclipse i produktach opartych na środowisku Eclipse środowisko
# osgi.framework.extensions jest ustawiane w ramach instalowania środowiska Eclipse
# wtyczek Equinox Weaving.
# Dlatego też, w przeciwieństwie do normalnego skryptu dla programu MQ Explorer,
# opcja LTW_OPTIONS jest pusta.
# LTW_OPTIONS=-Dosgi.framework.extensions=org.eclipse.equinox.weaving.hook
LTW_OPTIONS=
explorerCmd="$explorerCmd $* -vmargs -Xmx512M $LTW_OPTIONS -Dcom.ibm.mq.commonservices=$MQPROPERTIES"
# ---------------------------------------------------------------------------
# Uruchomienie programu MQ Explorer
# ---------------------------------------------------------------------------
echo Uruchamianie programu $explorerCmd
exec $explorerCmd