Однажды поздним вечером я собрался протестировать работу небольшого web-приложения, развернув его в GlassFish 3. Приложение это, к слову, требовало для работы Java 7. Ничего не предвещало беды, поскольку минутой ранее те же самые тесты успешно завершились в окружении JBoss AS 7. Однако, к моему удивлению GlassFish отказался сотрудничать, сославшись на несоответствие версий классов приложения. Недолгие поиски в интернете привели меня к решению проблемы: как оказалось, GlassFish при установке жёстко прописывает в своей конфигурации используемый на тот момент JDK, а у меня тогда была популярна 6-я версия. Остаётся только явно указать серверу путь к новому JDK, отредактировав в файле glassfish3/glassfish/config/asenv.conf (или asenv.bat в случае Windows) параметр AS_JAVA.
воскресенье, 28 июля 2013 г.
воскресенье, 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>.
Как можно понять из названия этого свойства, оно задаёт верхнюю планку кэшируемых значений. Собравшись изменить размер кэша, помните, что вернюю планку не получится опустить ниже заданного по умолчанию минимального уровня, а также установить размер кэша больший, чем 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 г.
среда, 13 марта 2013 г.
Настройка аутентификации на основе JAAS в JBoss AS 7
В предыдущей заметке мы рассмотрели процесс настройки сервера GlassFish 3 для выполнения аутентификации пользователей в web-приложении. Настало время сделать то же самое в JBoss AS 7.
четверг, 7 марта 2013 г.
Настройка аутентификации на основе JAAS в GlassFish 3
Для начала возьмём за основу наверное самый распространённый вариант аутентификации: учётные данные пользователей хранятся в некой базе данных. У нас также есть некое web-приложение, в котором будет выполняться form-based аутентификация.
Подписаться на:
Сообщения (Atom)