Jetty コネクションプールからJSON データに連携。

詳細情報をご希望ですか?

無償トライアル:

ダウンロードへ

製品の詳細情報へ:

JSON JDBC Driver

JSON Web サービス連携のパワフルなJava アプリケーションを素早く作成して配布。



CData JDBC Driver for JSON は、コネクションプーリングをサポートします:本記事では、Jetty のWeb アプリからJSON データに連携する手順を説明します。

CData JDBC driver for JSON は、Java Web アプリケーションに簡単に統合して利用することができます。本記事では、Jetty でドライバーをコネクションプールとして設定することで、効率的にJSON データをアプリケーションで連携利用する方法を説明します。Jetty でJNDI resource for JSON を設定します。

DBC Driver for JSON を JNDI Data Source として設定

次の手順で、Jetty とJSON の接続を確立します。

  1. Jetty ベースでJNDI モジュールを有効化します。JNDI を有効化するコマンドラインは以下の通り:

    java -jar ../start.jar --add-to-startd=jndi
  2. JDBC Driver の.jar ファイルと.lic ファイル(インストールディレクトリのlib フォルダ下)をcontext path のlib フォルダに配置します。
  3. リソースおよびスコープを宣言します。リソース宣言で必要な接続プロパティを入力します。この例では、JSON データソースをWeb アプリケーションのWEB-INF\jetty-env.xml レベルにdeclare しています。

    <Configure id='jsondemo' class="org.eclipse.jetty.webapp.WebAppContext"> <New id="jsondemo" class="org.eclipse.jetty.plus.jndi.Resource"> <Arg><Ref refid="jsondemo"/></Arg> <Arg>jdbc/jsondb</Arg> <Arg> <New class="cdata.jdbc.json.JSONDriver"> <Set name="url">jdbc:json:</Set> <Set name="URI">C:\people.json</Set> <Set name="DataModel">Relational</Set> </New> </Arg> </New> </Configure>

    データソースへの認証については、ヘルプドキュメントの「はじめに」を参照してください。本製品は、JSON API を双方向データベーステーブルとして、JSON ファイルを読み取り専用ビュー(ローカル ファイル、一般的なクラウドサービスに保存されているファイル、FTP サーバー)としてモデル化します。HTTP Basic、Digest、NTLM、OAuth、FTP などの主要な認証スキームがサポートされています。詳細はヘルプドキュメントの「はじめに」を参照してください。

    URI を設定して認証値を入力したら、DataModel を設定してデータ表現とデータ構造をより厳密に一致させます。

    DataModel プロパティは、データをどのようにテーブルに表現するかを制御するプロパティで、次の基本設定を切り替えます。

    • Document(デフォルト):JSON データのトップレベルのドキュメントビューをモデル化します。本製品 は、ネストされたオブジェクト配列を集約されたJSON オブジェクトとして返します。
    • FlattenedDocuments:ネストされた配列オブジェクトと親オブジェクトを、単一テーブルに暗黙的に結合します。
    • Relational:階層データから個々の関連テーブルを返します。テーブルには、親ドキュメントにリンクする主キーと外部キーが含まれています。

    リレーショナル表現の設定についての詳細は、ヘルプドキュメントの「JSON データのモデリング」を参照してください。また、以下の例で使用されているサンプルデータも確認できます。データには人や所有する車、それらの車に行われたさまざまなメンテナンスサービスのエントリが含まれています。

  4. Web xml でリソースを設定します:

    jdbc/jsondb javax.sql.DataSource Container
  5. これで、java:comp/env/jdbc/jsondb へのルックアップでJSON データにアクセスできます: InitialContext ctx = new InitialContext(); DataSource myjson = (DataSource)ctx.lookup("java:comp/env/jdbc/jsondb");

Jetty にさらに統合

ここでは、シンプルなコネクションプーリングシナリオでのドライバーの接続について説明しました。追加での連携ケースについては、Jetty ドキュメントのWorking with Jetty JNDI  参照してください。