各製品の資料を入手。
詳細はこちら →Jetty コネクションプールからWordPress のデータに連携。
CData JDBC Driver は、コネクションプーリングをサポートします:本記事では、Jetty のWeb アプリからWordPress のデータに連携する手順を説明します。
最終更新日:2023-06-18
この記事で実現できるWordPress 連携のシナリオ
こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
CData JDBC Driver for WordPress は、Java Web アプリケーションに簡単に統合して利用することができます。本記事では、Jetty でドライバーをコネクションプールとして設定することで、効率的にWordPress のデータをアプリケーションで連携利用する方法を説明します。Jetty でJNDI resource for WordPress を設定します。
DBC Driver for WordPress を JNDI Data Source として設定
次の手順で、Jetty とWordPress の接続を確立します。
Jetty ベースでJNDI モジュールを有効化します。JNDI を有効化するコマンドラインは以下の通り:
java -jar ../start.jar --add-to-startd=jndi
- JDBC Driver の.jar ファイルと.lic ファイル(インストールディレクトリのlib フォルダ下)をcontext path のlib フォルダに配置します。
-
リソースおよびスコープを宣言します。リソース宣言で必要な接続プロパティを入力します。この例では、WordPress のデータソースをWeb アプリケーションのWEB-INF\jetty-env.xml レベルにdeclare しています。
<Configure id='wordpressdemo' class="org.eclipse.jetty.webapp.WebAppContext"> <New id="wordpressdemo" class="org.eclipse.jetty.plus.jndi.Resource"> <Arg><Ref refid="wordpressdemo"/></Arg> <Arg>jdbc/wordpressdb</Arg> <Arg> <New class="cdata.jdbc.wordpress.WordPressDriver"> <Set name="url">jdbc:wordpress:</Set> <Set name="Url">http://www.yourwordpresshost.com</Set> </New> </Arg> </New> </Configure>
WordPress 接続プロパティの取得・設定方法
現時点では、CData JDBC Driver for WordPress はセルフホスト型のWordPress インスタンスへの接続のみをサポートしています。データに接続するには、Url を自身のwordpress サイトに指定し、次に以下に説明するように認証を行います。URL を完全な形式で記入します。例えば、あなたのサイトが'http://localhost/wp/wordpress' でホストされている場合、URL は'http://localhost' ではなく、'http://localhost/wp/wordpress' となるべきです。 URL を完全な形式で入力しないと、'site not found' というエラーが発生します。
WordPress は2種類の認証をサポートします。
- Basic 認証は、テスト環境での使用が推奨されます。
- OAuth 2.0 認証は、デスクトップアプリケーション、Web アプリケーション、またはヘッドレスマシンからのブラウザベースのアクセスをサポートします。
Basic 認証
Basic 認証を使用するようにWordPress を設定する前に:
- WordPress ログインに管理者権限があることを確認してください。
- ローカルホストで実行されているWordPress のバージョンを確認します。(WordPress 4.7 以降はネイティブでWordPress REST API サポートしていますが、それより前のバージョンでは、REST API へのアクセスを安全に行うには、Basic 認証プラグインの使用が必要です。)
- WordPress ホストにログインします。
- 4.7より前のバージョンのWordPress を実行している場合は、REST API プラグインをインストールしてください。
- Basic Authentication プラグインをインストールします。
- カスタムタクソノミーを作成するには、Simple Taxonomy Refreshed をインストールします。プラグインを手動でインストールしたい場合は、圧縮されたフォルダをwp-content\plugins フォルダに展開してからWordPress 管理者インターフェース経由でプラグインを有効にします。
- 次の接続プロパティを設定します。
- AuthScheme:Basic。
- Url:WordPress URL。
- User:ユーザーネーム。
- Password:パスワード。
-
Web xml でリソースを設定します:
jdbc/wordpressdb javax.sql.DataSource Container -
これで、java:comp/env/jdbc/wordpressdb へのルックアップでWordPress のデータにアクセスできます:
InitialContext ctx = new InitialContext(); DataSource mywordpress = (DataSource)ctx.lookup("java:comp/env/jdbc/wordpressdb");
Jetty にさらに統合
ここでは、シンプルなコネクションプーリングシナリオでのドライバーの接続について説明しました。追加での連携ケースについては、Jetty ドキュメントのWorking with Jetty JNDI 参照してください。