Запуск Mule для удаленной отладки без изменения wrapper.conf

1

Я застрял на Mule версии 3.4.0 из-за требований на работе. Я пишу служебный скрипт для управления жизненным циклом службы Mule и действительно хотел бы, чтобы он зависал и дождался, когда отладчик будет подключаться, в зависимости от того, присутствует ли в параметрах определенная опция.

Мне комфортно с Bash и реализовать это, но мне очень трудно попытаться заставить Мула пройти мимо

-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=9989

к основному процессу Java, поскольку он использует свою собственную (тупую) оболочку для обращения к Java.

Я пытаюсь изменить сценарий bin/mule чтобы иметь режим debug который передаст вышеупомянутые параметры отладчика JVM при вызове с помощью:

bin/mule debug

Моя текущая работа может быть найдена здесь на PasteBin, и вот соответствующая часть около строки 511:

debug() {
    echo "Debugging $APP_LONG_NAME..."
    getpid
    if [ "X$pid" = "X" ]
    then
        # The string passed to eval must handle spaces in paths correctly.
        COMMAND_LINE="$CMDNICE \"$WRAPPER_CMD\" \"$WRAPPER_CONF\" wrapper.syslog.ident=$APP_NAME wrapper.pidfile=\"$PIDFILE\" $ANCHORPROP $LOCKPROP"
        ######################################################################
        # Customized for Mule
        ######################################################################


        echo "command line: $COMMAND_LINE"
        echo "mule opts: $MULE_OPTS"
        echo "JPDA_OPTS: $JPDA_OPTS"

        eval $COMMAND_LINE $JPDA_OPTS $MULE_OPTS
        ######################################################################
    else
        echo "$APP_LONG_NAME is already running."
        exit 1
    fi
}

Я не могу перейти на более новую версию Mule. Мне нужно найти способ изменить этот скрипт, чтобы просто подождать отладчика при вызове с bin/mule debug. Я изменил его достаточно, чтобы войти в эту функцию debug которую я определил, которая в основном является копией их собственной функции console для запуска в режиме консоли. Я не могу понять, как получить мои отладочные опционы, переданные в JVM. Есть идеи?

Теги:
mule

1 ответ

1
Лучший ответ

Параметр -debug, следующий за документацией, присутствовал в 3.4.x:

./mule -debug

Попробуйте.

  • 0
    Параметр <code> -debug </ code> полезен, когда вы можете подключить отладчик после запуска и запуска mule. Однако, если вам нужно отладить некоторый код запуска, вам нужно раскомментировать 4 элемента после раздела «# Отладка удаленно ...» в файле conf / wrapper.conf. После того, как вы подключите отладчик мул продолжит его последовательность запуска.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню