Jetty の接続プールから Kintone のデータ に接続
CData JDBC Driver for Kintone は、Java Web アプリケーションへの統合が簡単です。この記事では、接続プールを設定することで Jetty から Kintone のデータ に効率的に接続する方法を説明します。Jetty で Kintone 用の JNDI リソースを設定していきましょう。
Salesforce 用の JDBC Driver を JNDI データソースとして設定
以下のステップで Jetty から Salesforce に接続します。
Jetty ベースで JNDI モジュールを有効にします。次のコマンドは、コマンドラインから JNDI を有効にします。
java -jar ../start.jar --add-to-startd=jndi
- インストールディレクトリの lib サブフォルダにある CData およびライセンスファイルを、コンテキストパスの lib サブフォルダに追加します。
-
リソースとそのスコープを宣言します。リソース宣言に必要な接続プロパティを入力します。次の例では、WEB-INF\jetty-env.xml に Web アプリレベルで Kintone データソースを宣言しています。
<Configure id='kintonedemo' class="org.eclipse.jetty.webapp.WebAppContext"> <New id="kintonedemo" class="org.eclipse.jetty.plus.jndi.Resource"> <Arg><Ref refid="kintonedemo"/></Arg> <Arg>jdbc/kintonedb</Arg> <Arg> <New class="cdata.jdbc.kintone.KintoneDriver"> <Set name="url">jdbc:kintone:</Set> <Set name="User">myuseraccount</Set> <Set name="Password">mypassword</Set> <Set name="URL">http://subdomain.domain.com</Set> </New> </Arg> </New> </Configure>Kintone 接続プロパティの設定方法
それでは、Kintone に接続していきましょう。接続するには、以下の接続プロパティを設定します。
- URL:Kintone のアクセスURL(例:https://yoursitename.cybozu.com または https://yoursitename.kintone.com)
- User:アカウントのユーザー名
- Password:アカウントのパスワード
- AuthScheme:「Password」を指定
パスワード認証の代わりにAPI トークン認証をご利用になる場合は、ヘルプドキュメントの「接続の設定」セクションをご確認ください。
Basic 認証の設定
続いて、ご利用のKintone ドメインでBasic 認証を有効にしている場合は、接続プロパティの「詳細」設定で以下の項目を追加設定してください。
- BasicAuthUser:Basic 認証のユーザー名
- BasicAuthPassword:Basic 認証のパスワード
クライアント証明書認証の設定
Basic 認証の代わりにクライアント証明書による認証をご利用になる場合は、以下の項目を設定してください。
- SSLClientCert:クライアント証明書のパス
- SSLClientCertType:証明書の種類
- SSLClientCertSubject:証明書のサブジェクト
- SSLClientCertPassword:証明書のパスワード
-
Web.xml でリソースを設定します。
jdbc/kintonedb javax.sql.DataSource Container
-
これで、java:comp/env/jdbc/kintonedb をルックアップして Kintone にアクセスできます。
InitialContext ctx = new InitialContext(); DataSource mykintone = (DataSource)ctx.lookup("java:comp/env/jdbc/kintonedb");
Jetty 統合の詳細
上記のステップでは、シンプルな接続プールのシナリオでドライバーを設定する方法を説明しました。その他のユースケースや詳細については、Jetty ドキュメントのWorking with Jetty JNDI の章を参照してください。