Отладка приложения из OC4J в IDEA

Если у вас приложения для OC4J сделано в JDeveloper 10g то проблем нет – JDeveloper сам понимает контейнер и можно отлаживаться. Но что делать, если вам достается проект, собиреемый Maven’ом и содержащий в себе весь “зоопарк” Java-технологий (Spring, Hibernate и т.д.). Конфигурация для OC4J в IDEA по-умолчанию отсутствует. Поиск статей по этой проблеме на русском языке результатов не дал. Поэтому напишу свою. Все действия происходят под Windows.

Шаг 1. Настраиваем локальный OC4J контейнер

В файл oc4j.cmd вставляем:

set OC4J_JVM_ARGS=-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n -Xms512m -Xmx700m -XX:MaxPermSize=500m
set JVMARGS=%OC4J_JVM_ARGS%

где address=8000 – адрес порта для отладки (это не тот порт к которому идет подключение клиентом или браузером), а -Xms512m -Xmx700m -XX:MaxPermSize=500m – настройки памяти JVM (что они обозначают не имею ни малейшего представления, потому что не настоящий java-программер)

Запускаем: oc4j –start

По-умолчанию порт выставлен как 8888, заходим в Server Control: http;//localhost:8888/em и деплоим предварительно собраный ear-файл.

Шаг 2. Настраиваем IDEA

Открываем проект (если проект сделан в Maven и не создан проект для IDEA, то сначала запускаем mvn idea:idea, а потом открываем получившийся проект)

В IDEA выбираем Run –> Edit configuration. В открывшимся окне нажимаем кнопку “Add new configuration”, в списке выбираем Remote, обзываем по человечески и меняем номер порта на тот который задан в шаге 1 у контейнера (8000)

image

Сохраняем.

Шаг 3. Собственно отладка

Расставляем брек-пойнты, жмем Run –> Debug ‘OC4J’. Подключаемся к контейнеру клиентом, выполняем операции, которые остановятся на брек-пойнте и будет предоставлена отладочная информация.

Вот в общем-то и все.

Реклама
Запись опубликована в рубрике Uncategorized. Добавьте в закладки постоянную ссылку.

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход /  Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s