Befehlsscript runwithtrace für Linux

Zur Traceerstellung in MQ Explorer schließen Sie MQ Explorer und starten das Programm mit dem Befehl runwithtrace erneut. Eine Kopie dieses Scripts für Linux®-Systeme finden Sie in diesem Thema.

Kopieren Sie das folgende Script und speichern Sie es als Textdatei mit dem Namen runwithtrace.cmd. Führen Sie das Script dann aus, wie in Schritt 3 des Themas "Tracefunktion von IBM® MQ Explorer in anderen Eclipse-Umgebungen verwenden" beschrieben.


#!/bin/sh
#---------------------------------------------------------------------------
# Dateiname: runwithtrace
#
# Dateibeschreibung: Dieses Script wird verwendet, wenn die MQ Explorer-Plug-ins 
# in einem anderen Eclipse- bzw. Eclipse-basierten Produkt installiert sind. 
# Es startet Eclipse und führt WebSphere MQ Explorer mit aktivierter Tracefunktion aus.
# 
#---------------------------------------------------------------------------

# ---------------------------------------------------------------------------
# Spezieller Prozess zur Aktivierung der Tracefunktion
#  1.  Erlauben Sie dem Benutzer mittels der Umgebungsvariablen MQPROPERTIES 
#        die Bereitstellung seiner eigenen Eigenschaftendatei.
#  2. Erstellen Sie andernfalls eine Eigenschaftendatei im Verzeichnis /tmp, die
#        den Trace in das Verzeichnis /var/mqm/trace schreibt, sofern in dieses
#        Verzeichnis geschrieben werden kann. Andernfalls wird der Trace direkt
#        in das Verzeichnis /tmp geschrieben.
# ---------------------------------------------------------------------------

# Test, ob die Variable undefiniert ist oder auf eine nicht existierende Datei verweist
if [ -z "$MQPROPERTIES" -o ! -f "$MQPROPERTIES" ]
then
   # Eigenschaftendatei mit Standard-Traceoptionen erstellen
   MQPROPERTIES=/tmp/mq_trace.properties
   # -----------------------------------------------------
   # Verzeichnis, in das der Trace geschrieben wird - Traceverzeichnis wird zuerst ausprobiert
   # -----------------------------------------------------
   echo "Confirming write access to the MQ trace directory /var/mqm/trace"
   MQTRACE=/var/mqm/trace
   # Test, ob Verzeichnis existiert und beschreibbar ist
   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
 
   # -------------------------------------------------------------
   # Standardeigenschaftendatei erstellen
   # -------------------------------------------------------------
   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

# ---------------------------------------------------------------------------
# Auszuführende Befehlszeile erstellen
# Suche im aktuellen Verzeichnis
# Alle an dieses Script übergebenen Parameter werden weitergegeben.
# Die Ladezeit-Weaving-Optionen werden als Teil des Parameters 'vmargs' festgelegt.
# ---------------------------------------------------------------------------

# Spezielle Anwendung, wenn die MQ Explorer-Plug-ins in einem anderen Eclipse-
# bzw. Eclipse-basierten Produkt installiert sind.
# Eclipse muss sich im aktuellen Verzeichnis befinden. 

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

# Hinweis:
# In Eclipse- und Eclipse-basierten Produkten werden die 'osgi.framework.extensions'
# im Zuge der Installation der Equinox Weaving-Plug-ins von Eclipse festgelegt.
# Im Gegensatz zum normalen MQ Explorer-Script bleibt LTW_OPTIONS daher leer.

# 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 starten
# ---------------------------------------------------------------------------
echo Launching $explorerCmd 

exec $explorerCmd