2009-03-11 2 views
1

Эй! Я относительно новичок и для Java EE, и для Stackowerflow, пожалуйста, будьте добры :-)Ejb 3, управляемый сообщением bean-компонент, взаимодействующий с сессионным компонентом с состоянием?

У меня есть куча устройств, запускающих Java-сообщения, отправляемые при любом изменении состояния. Эти устройства обычно активны в течение 30-90 минутных интервалов. Каждое сообщение о событии содержит идентификатор устройства в дополнение к деталям события.

Центральное место в моей заявке - это управляемый сообщением bean, который подписывается на эти события. Каждый раз, когда я получаю событие, я должен ударить по базе данных, чтобы найти информацию об устройстве.

Было бы замечательно, если бы я мог связывать сессионный компонент с состоянием с каждым активным устройством! Если бы это было веб-приложение, я бы использовал http-сессию для хранения дескриптора или ссылки на компонент с состоянием (я прав?). Есть ли способ, чтобы я мог архивировать это из моего компонента сообщений?

+0

Являются ли данные устройства изменчивыми? Что вы делаете, если устройство модифицировано? Тогда состояние объекта, которое вы держите в бизнес-логике, отличается от представления в базе данных. На мой взгляд, данные должны занимать только одно место. – Timo

ответ

2

Было бы хорошо, если бы не было сделано так, как вы объяснили. MDB (и SLSB) по определению являются лицами без гражданства, поэтому безопасно вести беседу только во время вызова.

Вы можете в конечном итоге разбить спецификацию и создать статический атрибут где-нибудь (возможно, в самом MDB), но это, конечно же, не будет переносимым, ни масштабируемым.

Мое предложение - включить кеширование на уровне JPA (см. Поставщик предпочтений о предпочтениях), чтобы вы могли находить нужные данные очень быстро (очень быстро). Это портативный и удобный для кластера. Именно так я использую это в своих проектах, и я очень доволен этим.

Надеюсь, что это поможет.

0

Я не так рекомендую рекомендовать конкретные продукты, но это не значит, что запросы на Terracotta серверу нравятся?

Смежные вопросы