Java на habrahabr

Май 12, 2012

 

«Разбор полетов» — episode 17 — Иногда они возвращаются…

Все привет! Редакция подкаста «Разбор Полетов» рада представить Вам очередной 17-й выпуск, в котором мы расскажем Вам:

  • Отчет Алексея по JavaOne Russia и по SpringOne
Читать дальше →

Java на habrahabr

Март 19, 2012

 

Проблемы передачи utf-8 из формы в JAX-RS (REST)

Хабы: JAVA

Введение


Для передачи данных от интерфейса веб-приложения есть несколько методов, но, пожалуй, самый распространенный — отправка формы с MIME-type application/x-www-form-urlencoded. Ещё один вариант — multipart/form-data.

В качестве серверной технологии для приема могут использоваться контроллеры в MVC-фреймворках (из основных Java-технологий следует упомянуть Spring MVC, Java Server Pages, Java Server Faces. Но эти фреймворки довольно сильно осложняют жизнь разработчику интерфейса, если он не знаком с Java или нужен шаг в сторону от того, что позволяет фреймворк. В случае же экспонирования REST-интерфейса бэкендом приложения разработкой фронта упрощается: ей может заниматься человек, знающий базовый javascript и jquery, независимый от разработки бэка. Кроме того, даже при использовании шаблонизатора, выбор сильно расширяется: Apache Velocity, FreeMarker (стоит упомянуть, что Spirng MVC неплохо интегрируется с последними). Тогда данные из формы на стороне сервера записываются в бины, с которыми связан данный view/controller. Правда, у JSF тоже наблюдалась генетическая проблема с кодировками, рассмотрение которой — тема для отдельной статьи.

Краткое введение в JAX-RS было дано в предыдущей статье. И экспонированный через JAX-RS интерфейс может принимать GET и POST запросы с данными форм. О проблемах данного подхода при использовании не-latin-1 и пойдет речь в данной статье.
Читать дальше →

Java на habrahabr

Март 17, 2012

 

Основы JAX-RS

Хабы: JAVA

Введение


Выросло данное API из JSR 311: JAX-RS: The Java API for RESTful Web Services и вошло в Java SE 5. Как видно из названия, предназначено оно для разработки RESTful веб-сервисов.

Основная цель данной статьи — познакомить читателя с основами JAX-RS API. Изначально я планировал написать о некоторых проблемах работы форм при использование JAX-RS сервиса. Не обнаружив на Хабре почти ничего, касающегося данной технологии понял, что введением к статье отделаться не удастся.

Будут представлены основы JAX-RS API, реализация от JBoss и дано небольшое введение в клиентскую часть фреймворка Resteasy.
Читать дальше →

Java на habrahabr

Март 16, 2012

 

[Из песочницы] Загрузка классов в серверах приложений, особенности JBoss AS 7

Java характеризуется динамической загрузкой классов. Для поиска и загрузки используется механизм делегирующих classloader'ов. В Java SE окружении их количество ограничивается 2-3, но в серверах приложений оно приближается к 10 иерархическим classloader'ам. Этим объясняется большое время запуска (обычно от минуты) и деплоя приложений.

В JBoss AS 7 разработчикам удалось сильно сократить время запуска (пустой appserver запускается за 3-4 секунды на рабочей станции). Этому способствовала новая система загрузки классов в данном сервере приложений. Такой подход всё же обладает своими недостатками.

Данная статья касается механизма загрузки классов в различных окружениях, особенностях работы с JBoss AS 7, сопряжения с системой сборки Apache Maven и IDE IntelliJ IDEA.
Читать дальше →

Java на habrahabr

Ноябрь 20, 2011

 

JAVA / [Перевод] Red Hat: Позвольте «облаку» OpenShift компилировать ваши Java-приложения

Решил перевести новость о том, что OpenShift теперь объединяет Jenkins, JBoss Tools и Maven, позволяя Java-разработчикам программировать, собирать, развёртывать и масштабировать приложение в облаке.

Red Hat предлагает вам использовать OpenShift не только для хостинга приложений, но и для всего цикла разработки ПО. Вы можете программировать, компилировать и улучшать своё ПО прямо в «облаке», не используя для этого десктоп или мощный ноутбук.

OpenShift — PaaS-облако, о запуске которого Red Hat объявил в мае. Эта облачная платформа существует в трёх версиях — Express, Flex и Power и позиционируется, как альтернатива Microsoft Azure или Google App Engine. Главное преимущество облачных вычислений состоит в том, что они автоматически масштабируют ресурсы, настолько, насколько это требуется для текущей нагрузки.

Java на habrahabr

Декабрь 29, 2010

 

JAVA / [Ссылка] Вышел JBoss AS 6 Final

Вышел финальный релиз JBoss Application Server версии 6. Теперь JBoss поддерживает JEE 6 версии, и соответственно в нем есть EJB3.1 и другие вкусности.

ru.java на livejournal

Декабрь 22, 2010

 

Пример развёртки EJB3 на JBoss

А где бы найти туториал/мануал/статью/что угодно с подробным примером развёртки простого EJB3-приложения на JBoss? Ну то есть эдакий Hello World с упором на формирование EAR и его деплоинг на сервер?

Вариант с GlassFish тоже приветствуется, хотя и в меньшей степени.

ru.java на livejournal

Октябрь 1, 2010

 

Profiller

Пятничный глупый вопрос:
Подскажите пожалуйста профайлер, главное требование это использование с jboss (ну или клиент-сервер какой либо) и бесплатность ))
Так же хорошую литературу для новичков в этом деле, желательно на русском )

Спасибо заранее

ru.java на livejournal

Сентябрь 13, 2010

 

JBoss и открытые JAR-файлы

Началось всё с того, что пред-продакшн сервер выдал нам "too many open files". Выдалось это после второй попытки пропатчить наше мега-приложение. Мега-приложение грузится своим деплойером, расширяющим SubDeployerSupport, поэтому все силы были брошены сначала на него...

Но в процессе борьбы выяснилось, что в /proc лежит множество линков вида:
server/default/tmp/deploy/tmp1536561351976467536qwe.sar (deleted)

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

По мотивам был найден следующий пост: http://management-platform.blogspot.com/2009/01/classloaders-keeping-jar-files-open.html

Оказалось, что JarFile не закрывает открытые потоки!!! Это было откровением...

Вроде как понятен стал метод борьбы (указан в посте), но он почему-то не сработал для JBoss. Как минимум, мне нужно каким-то хитрым образом запихать свой класс-лоадер заместо URLClassLoader. Но там всё-равно ещё остаются открытые дескрипторы, которые я выловил указаной в посте хитрой утилитой http://blogs.sun.com/roller/resources/quinn/ZipFileMonitor.jar

Кто-нибудь сталкивался с такой проблемой? Как решали?
Может быть можно запатчить саму Java-машину? http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4167874 Вроде бы баг пофикшен для 7-й версии...

Java на habrahabr

Август 9, 2010

 

JAVA / [Голосование] Нужна ли русскоязычная Wiki, посвященная серверу приложений JBoss и сопутствующ