2009-08-28 11 views
2

私のアプリケーションにステートレスEJBがあります。そして、私はステートフル経由でいくつかのDB操作を行う必要があります。このステートレスEJBは、接続をステートフルで開くDBユーティリティにアクセスできますか?これはデザイン/パフォーマンスの問題につながりますか?ステートレス&ステートフル接続の結合

+0

アプリケーションがDBにアクセスしても、ステートフルBeanが必要なわけではありません。 –

答えて

0

ステートフル接続を開きますか?

あなたが意味するか:

  1. を開き、サーバーへの呼び出しの間に開いたまま、クライアントに返すときに自動的にコミットされませんステートフル接続?
  2. セッションコンテキストから入手可能なセキュリティ資格情報を使用して接続を開いて、ユーザー自身のデータベースユーザー/パスワードとの接続を取得しますか? StatelessSessionBean(SLSB)の前でStatefulSessionBean(SFSB)を使用して行うことが可能であるかもしれないが、最初のケースで

は、例えばリモート間の相互作用を収集するために、コマンドパターンを使用して(おそらくより良いアプローチがありますあなたがコミットする準備ができるまで呼び出す)。

2番目のケースでは、DataSource.lookup(username、password)が役立つかもしれませんが、DataSourceルックアップでは、同じ接続の受信を保証するためにユーザー名とパスワードを一貫して提供する必要があります。

これは設計/パフォーマンスの問題につながりますか?

どちらの場合も、基本的なセキュリティエラー(プレーンテキストでのパスワードの送信など)を行わないように注意する必要があります。私はどちらのアプローチも使用していないし、いずれかを含むソリューションを再設計する傾向があるだろう。

私は、保守中の脆弱性などのセキュリティやその他の設計上の問題よりパフォーマンスの問題が心配されていません。

関連する問題