Skip to content

Instantly share code, notes, and snippets.

@serac
Created September 14, 2016 13:39
Show Gist options
  • Save serac/ff717e61fd220ba5d34e35c5246e73fc to your computer and use it in GitHub Desktop.
Save serac/ff717e61fd220ba5d34e35c5246e73fc to your computer and use it in GitHub Desktop.
Useful .jettyrc for conditionally enabling remote debugging, SSL trace, YourKit profiler, and GC debugging
#/bin/bash
# Jetty shell configuration file
export JETTY_RUN=${TMPDIR}jetty
if [ ! -d $JETTY_RUN ]; then
mkdir -p $JETTY_RUN
fi
export JETTY_STATE=$JETTY_RUN/jetty.state
export JETTY_LOGS=$HOME/Library/Logs/jetty
# Check for garbage collection debugging flag
if [ "$JETTY_GCDBG_ENABLED" = "y" ]; then
JOPTS=$JOPTS" -verbose:gc"
JOPTS=$JOPTS" -XX:+PrintGCDateStamps"
JOPTS=$JOPTS" -XX:+PrintGCTimeStamps"
JOPTS=$JOPTS" -XX:+PrintGCDetails"
JOPTS=$JOPTS" -XX:+PrintTenuringDistribution"
JOPTS=$JOPTS" -XX:+PrintCommandLineFlags"
fi
# Check for Java remote debugging flag
if [ "$JETTY_DEBUG_ENABLED" = "y" ]; then
JOPTS=$JOPTS" -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket"
JOPTS=$JOPTS",address=$JETTY_DEBUG_PORT,server=y,suspend=n"
fi
# Check for YourKit profiler flag
if [ "$JETTY_YK_ENABLED" = "y" ]; then
JOPTS=$JOPTS" -agentpath:$YK_HOME/bin/mac/libyjpagent.jnilib"
JOPTS=$JOPTS"=listen=127.0.0.1:$YK_PORT,delay=10000"
JOPTS=$JOPTS",sessionname=$HOSTNAME"
fi
# Check for SSL trace flag
if [ "$JETTY_SSLTRACE_ENABLED" = "y" ]; then
JOPTS=$JOPTS" -Djavax.net.debug=ssl"
fi
BASHENV=$JETTY_BASE/bashenv
if [ -f $BASHENV ]; then
echo "Sourcing supplementary bash environment from $BASHENV"
source $BASHENV
fi
JAVA_OPTIONS="-Xmn256m -Xms768m -Xmx1024m $JOPTS"
# Arguments passed to jetty start.jar
JETTY_ARGS=$JETTY_ARGS" -Drequestlog.filename=$JETTY_LOGS/yyyy_mm_dd.request.log"
JETTY_ARGS=$JETTY_ARGS" -Djetty.logging.dir=$JETTY_LOGS"
JETTY_ARGS=$JETTY_ARGS" -Djetty.logs=$JETTY_LOGS"
JETTY_ARGS=$JETTY_ARGS" -Djetty.home=$JETTY_HOME"
JETTY_ARGS=$JETTY_ARGS" -Djetty.base=$JETTY_BASE"
JETTY_ARGS=$JETTY_ARGS" -Djetty.contexts=$JETTY_BASE/webapps"
JETTY_ARGS=$JETTY_ARGS" -Djetty.webapps=$JETTY_BASE/webapps"
JETTY_ARGS=$JETTY_ARGS" -Djetty.hostname=$HOSTNAME"
JETTY_ARGS=$JETTY_ARGS" -Djava.io.tmpdir=$TMPDIR"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment