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