本記事では CData サポート担当からこんなことを聞かれたらどこを確認すべきか?という観点で、よく頂くお問合せ内容をご紹介します。
記事はこちら →CData JDBC Drivers は標準JDBC インターフェースをサポートし、JVM 上で実行されるWeb アプリケーションに統合します。この記事では、Tomcat のConnection Pool からPhoenix に接続する方法について詳しく説明します。
Phoenix Query Server 経由でApache Phoenix に接続します。デフォルトのポートと異なる場合は、Server とPort プロパティを設定してApache Phoenix に接続します。Servre プロパティは通常、Apache Phoenix をホストしているサーバーのホスト名またはIP アドレスです。
デフォルトでは、認証は使用されません(プレーン)。サーバーに認証が設定されている場合は、AuthScheme をNEGOTIATE に設定して、
必要な場合にはUser とPassword プロパティを設定して、Kerberos で認証します。
<Resource name="jdbc/apachephoenix" auth="Container" type="javax.sql.DataSource" driverClassName="cdata.jdbc.apachephoenix.ApachePhoenixDriver" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" url="jdbc:apachephoenix:Server=localhost;Port=8765;" maxActive="20" maxIdle="10" maxWait="-1" />
一つのアプリケーションからPhoenix へのアクセスを許可するには、上のコードをアプリケーションのMETA-INF ディレクトリにあるcontext.xml に追加します。
共有リソースの設定には、上のコードを$CATALINA_BASE/conf 内にあるcontext.xml に追加します。共有リソースの設定は、すべてのアプリケーションにSalesforce への接続を提供します。
Phoenix data JSP
jdbc/ApachePhoenix
javax.sql.DataSource
コンテナ
Context initContext = new InitialContext();
Context envContext = (Context)initContext.lookup("java:/comp/env");
DataSource ds = (DataSource)envContext.lookup("jdbc/ApachePhoenix");
Connection conn = ds.getConnection();
上記の手順では、簡単なコネクションプーリングのシナリオでPhoenix に接続する方法を説明しました。ほかの使用例や情報については、 Tomcat 製品ドキュメントの 「JNDI Datasource How-To」をご覧ください。