2012-02-13 8 views
0

現在、私はEBJ 3を使用しており、大規模なビジネス操作を実行する必要のあるBeanを作成しなければならず、データをDBに永続化し、JMSメッセージを送信し、 。この操作をACIDにする必要があるので、DBへのデータの永続化やJMSへのメッセージの送信(この操作はすべてトランザクションの伝播をサポートしています)については問題ありません。しかし、私は現在、LDAPにデータを保存し続けています。私の問題を解決する方法はありますか? UnboundId LDAP SDK、そのsupports LDAP transactinsを使用しますが、このトランザクションをBeanに伝播できないと仮定します。だから、この場合の最良の解決策は何ですか? JTAやJTSコードを書くべきでしょうか?それとも単純な解決策がありますか?または、この問題を解決することも可能ですか?LDAPトランザクションで2PC能力が必要なのでしょうか?EJB 3トランザクションの伝播とUnboundId LDAP SDK

答えて

1

RFC 5805で説明されている標準的なLDAPトランザクション機能は、トランザクションの一部として外部イベントを組み込む手段を提供しません(LDAPトランザクションをサポートするディレクトリサーバーもあまりありません - UnboundID Directory Serverは、UnboundID LDAP SDKの一部として提供されているインメモリ・サーバーをサポートしていますが、他のものは認識していません)。

LDAPディレクトリサーバーと1つ以上の種類のリポジトリにアトミックにコミットする機能が必要な場合は、それに対応できる標準のLDAPソリューションがないため、独自のソリューションが必要です。おそらく、LDAPサーバー内で実行される独自のコードを記述する必要があります。

+0

返信いただきありがとうございます。私はそれがほとんど不可能だと思った(ハックメソッドを除く)...申し訳ありませんが、私はあなたの評判を高めることはできません(十分なレポやスムーズ)。 :) – gkuzmin