ノーコードでクラウド上のデータとの連携を実現。
詳細はこちら →CData
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
CData JDBC Driver for HubDB は、Java Web アプリケーションに簡単に統合して利用することができます。本記事では、Jetty でドライバーをコネクションプールとして設定することで、効率的にHubDB データをアプリケーションで連携利用する方法を説明します。Jetty でJNDI resource for HubDB を設定します。
次の手順で、Jetty とHubDB の接続を確立します。
Jetty ベースでJNDI モジュールを有効化します。JNDI を有効化するコマンドラインは以下の通り:
java -jar ../start.jar --add-to-startd=jndi
<Configure id='hubdbdemo' class="org.eclipse.jetty.webapp.WebAppContext">
<New id="hubdbdemo" class="org.eclipse.jetty.plus.jndi.Resource">
<Arg><Ref refid="hubdbdemo"/></Arg>
<Arg>jdbc/hubdbdb</Arg>
<Arg>
<New class="cdata.jdbc.hubdb.HubDBDriver">
<Set name="url">jdbc:hubdb:</Set>
<Set name="AuthScheme">OAuth</Set>
<Set name="OAuthClientID">MyOAuthClientID</Set>
<Set name="OAuthClientSecret">MyOAuthClientSecret</Set>
<Set name="CallbackURL">http://localhost:33333</Set>
</New>
</Arg>
</New>
</Configure>
HubDBデータソースへの接続には、パブリックHubSpotアプリケーションを使用したOAuth認証とプライベートアプリケーショントークンを使用した認証の2つの方法があります。
すべてのOAuthフローでAuthSchemeを"OAuth"に設定する必要があります。特定の認証ニーズ(デスクトップアプリケーション、Webアプリケーション、ヘッドレスマシン)に必要な接続プロパティについては、ヘルプドキュメントを確認してください。
アプリケーションを登録し、OAuthクライアント認証情報を取得するには、以下の手順を実行してください。
スコープの下で、アプリケーションの意図する機能に必要なスコープを選択します。
テーブルにアクセスするには、最低限以下のスコープが必要です:
HubSpotプライベートアプリケーショントークンを使用して接続するには、AuthSchemeプロパティを"PrivateApp"に設定します。
以下の手順に従ってプライベートアプリケーショントークンを生成できます:
接続するには、PrivateAppTokenを取得したプライベートアプリケーショントークンに設定します。
Web xml でリソースを設定します:
jdbc/hubdbdb
javax.sql.DataSource
Container
これで、java:comp/env/jdbc/hubdbdb へのルックアップでHubDB データにアクセスできます:
InitialContext ctx = new InitialContext();
DataSource myhubdb = (DataSource)ctx.lookup("java:comp/env/jdbc/hubdbdb");
ここでは、シンプルなコネクションプーリングシナリオでのドライバーの接続について説明しました。追加での連携ケースについては、Jetty ドキュメントのWorking with Jetty JNDI 参照してください。