JDBC Driver for Amazon Athena

Build 23.0.8839

JNDI

JNDI でのコネクションプーリング

Java Naming and Directory Service(JNDI)は、分散アプリケーションがサービスを検索できるようにするAPI です。JNDI を使用すると、コネクションプールを簡単に設定できます。

JNDI を使用してコネクションプールを設定するには、以下のサンプルコードに示すように、JNDI ファイルシステムサービスプロバイダーを初期化する必要があります。このサンプルを実行するには、クラスパスにfscontext.jar ファイルとproviderutil.jar ファイルを追加する必要があります。これらのファイルは、Oracle Java Archive からダウンロードできます。Java SE セクションで、[Java Platform Technologies]->[Java Naming and Directory Interface]を選択します。

 
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,
    "com.sun.jndi.fscontext.RefFSContextFactory");
env.put(Context.PROVIDER_URL, "file:///tmp");

Context ctx = new InitialContext(env); 
DataSource ds = null;
Connection conn = null;
次のコードは、AmazonAthenaDataSource をJNDI ネーミングサービスに登録し、サービスからDataSource のインスタンスを取得し、インスタンスからプールされた接続を作成します。
try {
  AmazonAthenaConnectionPoolDataSource amazonathenaDataSource = new AmazonAthenaConnectionPoolDataSource();
  amazonathenaDataSource.setURL("jdbc:amazonathena:UseConnectionPooling=true;AWSAccessKey='a123';AWSSecretKey='s123';AWSRegion='IRELAND';Database='sampledb';S3StagingDirectory='s3://bucket/staging/';");
  ctx.bind("jdbc/amazonathena", amazonathenaDataSource);
  ds = (DataSource) ctx.lookup("jdbc/amazonathena");

  conn = ds.getConnection();
  Statement stat = conn.createStatement();
  boolean ret = stat.execute("SELECT 1");
  ResultSet rs=stat.getResultSet(); 
} catch(Exception ex) { } finally {
  if(conn != null) conn.close();
}

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 23.0.8839