それぞれ 2 つの appserver を持つ 2 つのノードで構成される websphere 6.1 クラスター環境があります。NodeA including Server1(2809) & Server2(2810)
、と呼びましょうNodeB including Server3(2811) & Server4(2812)
。一方、 JNDI を使用してクラスタースコープのデータソースを作成しましたlocal_db
。
現在、上記の環境から WAS ORB 呼び出しを介して Java クライアントでデータベース接続を取得したいと考えています。Java コードの特定の部分は次のようになります。
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,"com.ibm.websphere.naming.WsnInitialContextFactory");
env.put(Context.PROVIDER_URL,"iiop://localhost:2809");
javax.sql.DataSource ds = (DataSource)initialContext.lookup("local_db");
Connection cn = ds.getConnection();
上記の Java クライアント コードが実行された場合、データベース接続取得要求は、すべてのアプリケーション サーバーの 4 つの接続プール間で負荷分散規則に従いますか?
さらに、Java クライアントが 1 つのデータベース接続を正常に取得し、大量の結果が返される大きな SQL クエリを実行した場合、メモリ領域の占有に関しては、どの WAS アプリケーション サーバーが処理するのでしょうか? 上記で使用されたポート 2809 またはデータベース接続を返すターゲット サーバーのため、server1のみですか?
ところで、 のように 2 つのサーバー メンバーを配置した場合
PROVIDER_URL
、iiop://localhost:2809, localhost:2810
それは負荷分散またはフェールオーバーを意味しますか?私が間違って理解している場合は、説明と修正を手伝ってください!
ありがとう