EJB 3 - распространение транзакций и UnboundId LDAP SDK - PullRequest
0 голосов
/ 13 февраля 2012

В настоящее время я работаю с EBJ 3 и должен создать bean-компонент, который должен выполнять операции крупного бизнеса, состоящий из сохранения данных в БД, отправки некоторых сообщений JMS и сохранения других данных в LDAP.Я должен сделать эту операцию ACID, так что это не проблема сохранения данных в БД или отправки сообщений в JMS (вся эта операция поддерживает распространение транзакций).Но в настоящее время я остановился на сохранении данных в LDAP.Есть ли техника, которая может решить мою проблему?Мы используем UnboundId LDAP SDK, который поддерживает трансактины LDAP , но я предполагаю, что я не могу передать эту транзакцию моему бину.Итак, что является лучшим решением в этом случае?Должен ли я написать код JTA или JTS?Или есть какое-то простое решение?Или даже возможно решить эту проблему - может быть, мне нужна возможность 2PC в транзакции LDAP?

1 Ответ

1 голос
/ 14 февраля 2012

Стандартное средство транзакций LDAP, как описано в RFC 5805, не предоставляет никакого способа для включения внешних событий как часть вашей транзакции (и также существует не так много серверов каталогов, которые поддерживают транзакции LDAP - я знаю, что каталог UnboundIDСервер делает, а сервер в памяти предоставляется как часть UnboundID LDAP SDK, но я не знаю ни о каких других, которые делают).

Если вам нужна возможность фиксации на сервере каталогов LDAP иодин или несколько других типов репозиториев атомарным способом, тогда не существует стандартного решения LDAP, которое могло бы приспособиться к этому, поэтому вам понадобится проприетарное решение, и вам, вероятно, потребуется написать собственный код, который будет работать внутри сервера LDAP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...