各製品の資料を入手。
詳細はこちら →CData
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
CData JDBC Driver for Domino は、Java Web アプリケーションに簡単に統合して利用することができます。本記事では、Jetty でドライバーをコネクションプールとして設定することで、効率的にHCL Domino のデータをアプリケーションで連携利用する方法を説明します。Jetty でJNDI resource for Domino を設定します。
次の手順で、Jetty とHCL Domino の接続を確立します。
Jetty ベースでJNDI モジュールを有効化します。JNDI を有効化するコマンドラインは以下の通り:
java -jar ../start.jar --add-to-startd=jndi
<Configure id='dominodemo' class="org.eclipse.jetty.webapp.WebAppContext">
<New id="dominodemo" class="org.eclipse.jetty.plus.jndi.Resource">
<Arg><Ref refid="dominodemo"/></Arg>
<Arg>jdbc/dominodb</Arg>
<Arg>
<New class="cdata.jdbc.domino.DominoDriver">
<Set name="url">jdbc:domino:</Set>
<Set name="Server">https://domino.corp.com</Set>
<Set name="Database">names.nsf</Set>
<Set name="Port">3002</Set>
<Set name="SSLClientCertType">PEMKEY_FILE</Set>
<Set name="SSLClientCert">full_path_of_certificate.pem</Set>
<Set name="SSLServerCert">*</Set>
</New>
</Arg>
</New>
</Configure>
Domino のデータに接続するには、以下のプロパティを設定してください。
Domino は、ログインクレデンシャルまたはAzure Active Directory OAuth アプリケーションを使用した認証をサポートしています。
ログインクレデンシャルで認証するには、以下のプロパティを設定してください:
ドライバーはログインクレデンシャルを使用して、自動的にOAuth トークン交換を実行します。
この認証方法は、Azure Active Directory をIdP として使用してJWTトークンを取得します。Azure Active Directory にカスタムのアプリケーションを作成し、それをIdP として設定する必要があります。そのためには、ヘルプドキュメントの指示に従ってください。その後、以下のプロパティを設定します。
テナントID は、Azure ポータルのAzure Active Directory > プロパティページに表示されているディレクトリID と同じです。
Web xml でリソースを設定します:
jdbc/dominodb
javax.sql.DataSource
Container
これで、java:comp/env/jdbc/dominodb へのルックアップでHCL Domino のデータにアクセスできます:
InitialContext ctx = new InitialContext();
DataSource mydomino = (DataSource)ctx.lookup("java:comp/env/jdbc/dominodb");
ここでは、シンプルなコネクションプーリングシナリオでのドライバーの接続について説明しました。追加での連携ケースについては、Jetty ドキュメントのWorking with Jetty JNDI 参照してください。