Pull to refresh

Собираем JavaEE приложение maven'ом

Reading time 5 min
Views 6.7K
Lumber room
Когда переводил на maven свои ejb3-проекты, порядком намучился с настройкой проекта, подключением «правильных» библиотек. Информации или не было, или она была устаревшей. В работе я использую JBoss 5.1.0.GA, поэтому все примеры будут на его основе.
Задача. Нужно создать maven2 проект для JBoss. Пусть, это будет Enterprise Application. Внутри — ejb3 модуль и web-приложение.
Читать дальше →
Total votes 17: ↑14 and ↓3 +11
Comments 8

Способ проксирования JPA сущностей для клиента (борьба с lazy initialization)

Reading time 2 min
Views 5.7K
Java *
Sandbox
Недавно, увидев на Хабре пост про борьбу с lazy initialization в Hibernate, я заинтересовался – прочитал сам пост и ждал пока наберется побольше комментариев – не предложит ли кто-нибудь способ, которым данную проблему решили мы. Ничего похожего я не увидел. Способ под катом.
Читать дальше →
Total votes 25: ↑21 and ↓4 +17
Comments 29

Java Interceptors (в EJB 3.0)

Reading time 5 min
Views 38K
Programming *Java *
Представьте себе, что вы уже написали немалую часть кода приложения, и тут выясняется, что вам необходимо добавить логирование на вызов большого числа методов, или необходимо на некоторые схожие методы добавить дополнительную валидацию входных данных.
Вы можете просто переписать нужные участки кода, а можете воспользоваться появившемся в EJB 3.0 механизмом интерсепторов (interceptors).

Если интересны подробности и небольшой пример реализации прошу под кат.

Читать дальше →
Total votes 28: ↑27 and ↓1 +26
Comments 17

Работа с JMS сообщениями и MDB в JEE

Reading time 4 min
Views 77K
Programming *Java *
Tutorial
Работа с сообщениями подразумевает взаимодействие между компонентами системы посредством передачи сообщений. JMS позволяет реализовать это взаимодействие в java приложении, а MDB бины позволяют асинхронно обрабатывать получаемые сообщения на сервере приложений без дополнительных усилий по асинхронной обработке.

Ниже представлен простой пример обработки JMS сообщения с помощью MDB.
Читать дальше →
Total votes 12: ↑8 and ↓4 +4
Comments 5

Шпаргалка Java программиста 1: JPA и Hibernate в вопросах и ответах

Reading time 36 min
Views 516K
Website development *Open source *Programming *Java *API *
Tutorial
image

Знаете ли вы JPA? А Hibernate? А если проверить?

В чем смысл серии статей 'Шпаргалки Java программиста'
За время работы Java программистом я заметил, что как правило программисты постоянно и планомерно используют от силы 10-20% от возможностей той или иной технологии, при этом остальные возможности быстро забываются и при появлении новых требований, переходе на новую работу или подготовке к техническому интервью приходится перечитывать все документации и спецификации с нуля. Зато наличие краткого конспекта особенностей тех или иных технологий (шпаргалок) позволяет быстро освежить в памяти особенности той или иной технологии.




Данная статья будет полезна и для тех кто только собирается изучать JPA и Hibernate (В этом случае рекомендую сразу открывать ответы), и для тех кто уже хорошо знает JPA и Hibernate (В этом случае статья позволит проверить свои знания и освежить особенности технологий). Особенно статья будет полезна тем кто собирается пройти техническое интервью, где возможно будут задавать вопросы по JPA и Hibernate (или сам собирается провести техническое интервью).

Поехали...
Total votes 37: ↑32 and ↓5 +27
Comments 15

Максимально простой в поддержке способ интеграции java-клиента с java-сервером

Reading time 6 min
Views 6.1K
Programming *Java *

При решении повседневных задач с интерфейсом настольного приложения, реализованного на JavaFX, приходится в любом случае делать запрос на веб-сервер. После времен J2EE и страшной аббревиатуры RMI многое изменилось, а вызовы на сервер стали более легковесными. Как нельзя кстати для подобной проблемы подходит стандарт веб-сокетов и его обмен простыми текстовыми сообщениями любого содержания. Но проблема корпоративных приложений в том, что разнообразность и количество запросов превращает создание и отслеживание EndPoint-ов при наличии отдельно выделенных бизнес-сервисов в жуткую рутину и добавляет лишних строк кода.


А что если взять за основу строго типизированную стратегию с RMI, где между клиентом и сервером существовал стандартный java interface, описывающий методы, аргументы и возвращаемые типы, где добавлялось пару аннотаций, и волшебным образом клиент даже не замечал, что идет вызов по сети? Что если по сети передавать не просто текст, а сериализованные java-объекты? Что если добавить к этой стратегии легкость веб-сокетов и их преимущества возможности push-вызовов клиента со стороны сервера? Что если асинхронность ответов веб-сокета для клиента обуздать в привычный блокирующий вызов, а для отложенного вызова добавить возможность возвращения Future или даже CompletableFuture? Что если добавить возможность подписки клиента на определенные события от сервера? Что если на сервере иметь сессию и подключение к каждому клиенту? Может получиться неплохая прозрачная связка привычная любому java-программисту, так как за интерфейсом будет скрыта магия, а в тестировании интерфейсы легко подменить. Но вот только это все не для нагруженных приложений, обрабатывающих, например, котировки с фондовой биржи.

Читать дальше →
Total votes 16: ↑14 and ↓2 +12
Comments 34