各製品の資料を入手。
詳細はこちら →Tomcat Connection Pool にCData JDBC Driver を設定してSalesforce Data Cloud のデータに連携
Tomcat Connection Pool からSalesforce Data Cloud に連携接続。
最終更新日:2022-09-12
この記事で実現できるSalesforce Data Cloud 連携のシナリオ
こんにちは!ドライバー周りのヘルプドキュメントを担当している古川です。
CData JDBC Drivers は標準JDBC インターフェースをサポートし、JVM 上で実行されるWeb アプリケーションに統合します。この記事では、Tomcat のConnection Pool からSalesforce Data Cloud に接続する方法について詳しく説明します。
Tomcat のConnection Pool 経由でSalesforce Data Cloud のデータに接続
- CData JAR およびCData .lic ファイルを$CATALINA_HOME/lib にコピーします。CData JAR はインストールディレクトリの[lib]サブフォルダ内にあります。
- コンテキストにリソースの定義を追加します:
Salesforce Data Cloud は、OAuth 標準による認証をサポートしています。
OAuth
AuthScheme をOAuth に設定します。
デスクトップアプリケーション
CData は、デスクトップでの認証を簡略化する埋め込みOAuth アプリケーションを提供します。
また、Salesforce Data Cloud コンソールで設定および登録するカスタムOAuth アプリケーションを介してデスクトップから認証することもできます。詳しくは、ヘルプドキュメントのカスタムOAuth アプリの作成を参照してください。
接続する前に、次のプロパティを設定します。
- InitiateOAuth:GETANDREFRESH。InitiateOAuth を使えば、繰り返しOAuth の交換を行ったり、手動でOAuthAccessToken を設定する必要はなくなります。
- OAuthClientId (カスタムアプリケーションのみ):カスタムOAuth アプリケーションの登録時に割り当てられたクライアントID。
- OAuthClientSecret (カスタムアプリケーションのみ):カスタムOAuth アプリケーションの登録時に割り当てられたクライアントシークレット。
接続すると、本製品 はデフォルトブラウザでSalesforce Data Cloud のOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えます。
以下のようにドライバーがOAuth プロセスを完了します。
- コールバックURL からアクセストークンを取得します。
- 古いトークンの期限が切れたときは、新しいアクセストークンを取得します。
- OAuthSettingsLocation にOAuth 値を保存し、接続間で永続化します。
Web アプリケーションやヘッドレスマシンを含むその他のOAuth メソッドについては、ヘルプドキュメントを参照してください。
<Resource name="jdbc/salesforcedatacloud" auth="Container" type="javax.sql.DataSource" driverClassName="cdata.jdbc.salesforcedatacloud.SalesforceDataCloudDriver" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" url="jdbc:salesforcedatacloud:" maxActive="20" maxIdle="10" maxWait="-1" />
一つのアプリケーションからSalesforce Data Cloud へのアクセスを許可するには、上のコードをアプリケーションのMETA-INF ディレクトリにあるcontext.xml に追加します。
共有リソースの設定には、上のコードを$CATALINA_BASE/conf 内にあるcontext.xml に追加します。共有リソースの設定は、すべてのアプリケーションにSalesforce への接続を提供します。
- アプリケーションのweb.xml にリソースへの参照を追加します。
Salesforce Data Cloud のデータ JSP jdbc/SalesforceDataCloud javax.sql.DataSource コンテナ -
Connection pool からの接続の初期化:
Context initContext = new InitialContext(); Context envContext = (Context)initContext.lookup("java:/comp/env"); DataSource ds = (DataSource)envContext.lookup("jdbc/SalesforceDataCloud"); Connection conn = ds.getConnection();
そのほかのTomcat へのデータ連携ドライバーの統合
上記の手順では、簡単なコネクションプーリングのシナリオでSalesforce Data Cloud に接続する方法を説明しました。ほかの使用例や情報については、 Tomcat 製品ドキュメントの 「JNDI Datasource How-To」をご覧ください。