8

Java の s と s について読んでいて、いくつか質問がありConnectionます。DataSourceDataSource本当に単なるマネージャーであり、Connection(または複数の接続) の抽象化ですか?

4

4 に答える 4

12

ドキュメントから:

この DataSource オブジェクトが表す物理データ ソースへの接続のファクトリ。DriverManager 機能の代替である DataSource オブジェクトは、接続を取得するための推奨される手段です。

実際、aDataSourceConnections のプロバイダーであり、さまざまな方法で動作するさまざまな実装があります。そのような:

  1. 基本的な実装 -- 標準の Connection オブジェクトを生成します

  2. 接続プールの実装 -- 接続プールに自動的に参加する Connection オブジェクトを生成します。この実装は、中間層の接続プーリング マネージャーと連動します。

  3. 分散トランザクションの実装 -- 分散トランザクションに使用できる Connection オブジェクトを生成し、ほとんどの場合、接続プールに参加します。この実装は、中間層のトランザクション マネージャーと連携し、ほとんどの場合、接続プーリング マネージャーと連携します。

于 2013-03-03T16:38:30.320 に答える
4

Connection接続です:)接続DataSourceのマネージャー(接続のプール)です。

于 2013-03-03T16:37:24.377 に答える
-1

データ ソースはデータのソースであり、接続はドライバーです。

于 2013-03-03T16:34:48.220 に答える
-1

DataSource は、相互作用を抽象化することを意図しているかのように、既存の形式では不適切な概念であり、そもそも相互作用する SQL 接続を返すべきではありません。また、それはやり過ぎであり、XA は幻想的な概念であり、世界で信頼性の高い実装が欠如していることに対して大金を払った人もいます (つまり、すべてのエンタープライズ商用実装者は単に失敗し、ビジネスを公開することを意味します...誰かが金融でそれが原因で怪我をしましたが、私は言及しません)名前)。一般に、Sun または Oracle が推奨するかどうかに関係なく、過剰なエンジニアリングとコードの技術的な汚れ (コンテキストの処理、データを取得するための余分な手順、いくつかの外部構成など) が発生し、最終的には依然として固有のものです。とにかくベンダーの実装)。プーリング、接続回復などに対処するいくつかの開発された企業ソリューション

記録のために、私は両方と協力し、異なる場所で遭遇した事実に基づいています. 疑問がある場合は、ビジネスのいたるところに Hibernate 構成でプレーンな JDBC URL が表示される理由を尋ねてください。多くの場合、J2EE の重厚なアイデアを単純に捨てて軽量化します... また、DriverManager に基づく単純な接続を使用します。

キャリアを軌道に乗せたいと考えているあなたは、XA データソースと、貧弱な XA 実装がひどく失敗した失敗したトランザクションの回復を進めたいと考えています。

于 2013-07-17T13:57:22.627 に答える