воскресенье, 28 июля 2013 г.

Изменение используемого GlassFish 3 JDK

Однажды поздним вечером я собрался протестировать работу небольшого web-приложения, развернув его в GlassFish 3. Приложение это, к слову, требовало для работы Java 7. Ничего не предвещало беды, поскольку минутой ранее те же самые тесты успешно завершились в окружении JBoss AS 7. Однако, к моему удивлению GlassFish отказался сотрудничать, сославшись на несоответствие версий классов приложения. Недолгие поиски в интернете привели меня к решению проблемы: как оказалось, GlassFish при установке жёстко прописывает в своей конфигурации используемый на тот момент JDK, а у меня тогда была популярна 6-я версия. Остаётся только явно указать серверу путь к новому JDK, отредактировав в файле glassfish3/glassfish/config/asenv.conf (или asenv.bat в случае Windows) параметр AS_JAVA.

воскресенье, 2 июня 2013 г.

Регистрация поставщика драйвера базы данных в GlassFish 3

При создании нового пула соединений через веб-интерфейс консоли администрирования GlassFish  на первом шаге нам предлагают выбрать из выпадающего списка соответствующего поставщика драйвера базы данных (Database Driver Vendor). Действие это необязательное и всего лишь в дальнейшем избавит нас от указания вручную реализации выбранного типа ресурса, но тем не менее, порой бывает обидно не найти нужного поставщика среди предопределённых. Это легко исправить. Давайте поддержим сразу две СУБД - Firebird и H2.

суббота, 20 апреля 2013 г.

Кэширование Integer

Как известно, целочисленные значения в Java кэшируются в диапазоне от -128 до 127. Для Integer этот диапазон можно изменить при помощи системного свойства java.lang.Integer.IntegerCache.high.

Как можно понять из названия этого свойства, оно задаёт верхнюю планку кэшируемых значений. Собравшись изменить размер кэша, помните, что вернюю планку не получится опустить ниже заданного по умолчанию минимального уровня, а также установить размер кэша больший, чем Integer.MAX_VALUE.

Эффекта, аналогичного полученному от использования свойства java.lang.Integer.IntegerCache.high, можно также достичь при помощи параметра виртуальной машины -XX:AutoBoxCacheMax=<size>.

пятница, 19 апреля 2013 г.

Если IntelliJ IDEA не видит M2_HOME

Работая в IntelliJ IDEA под Linux столкнулся с одним неприятным моментом: среда разработки упорно отказывалась видеть переменную окружения M2_HOME, объявленную в файле .bashrc. Приходилось каждый раз при создании нового проекта указывать эту переменную вручную. Наконец мне надоело мириться с этим произволом со стороны ОС и IDEA и я отправился искать решение проблемы в интернетах. Нашёл его на баг-трекере JetBrains: оказывается для учёта переменных окружения из .bashrc следует запускать среду разработки не напрямую, а с помощью команды
bash -i <path_to_idea_folder>/bin/idea.sh

суббота, 23 марта 2013 г.

Настройка аутентификации на основе JAAS в TomEE

Третья и заключительная заметка, в которой мы коснёмся ещё одного достаточно популярного сервера приложений - Apache TomEE (для целей заметки использовалась версия 1.5.1 Plus). На всякий случай вот ссылки на первые две заметки: эта о GlassFish 3, а эта о JBoss AS 7.

среда, 13 марта 2013 г.

Настройка аутентификации на основе JAAS в JBoss AS 7

В предыдущей заметке мы рассмотрели процесс настройки сервера GlassFish 3 для выполнения аутентификации пользователей в web-приложении. Настало время сделать то же самое в JBoss AS 7.

четверг, 7 марта 2013 г.

Настройка аутентификации на основе JAAS в GlassFish 3

Для начала возьмём за основу наверное самый распространённый вариант аутентификации: учётные данные пользователей хранятся в некой базе данных. У нас также есть некое web-приложение, в котором будет выполняться form-based аутентификация.