Cloudant ドライバーの拡張機能の構成
Liberty で Cloudant Java クライアントの拡張機能を使用できます。
始める前に
Cloudant 構成に関するトピック『Liberty での Cloudant Java クライアント・ライブラリーを使用した CouchDB 接続の構成』を参照し、server.xml 内で必要なリソースが構成されていることを確認してください。
このタスクについて
Cloudant Java クライアントのユーザーとして、Java 2 セキュリティーを有効にしてサーバーを実行したい場合や、リソース参照に認証別名を適用したい場合があります。あるいは、WebSphere 組み込みフィーチャーを何も使用せずに Cloudant Java クライアントを使用することもできます。以下のステップはそれぞれ独立して実行することができます。
手順
- Java 2 セキュリティーを有効にしてサーバーが稼働している場合、cloudant クライアント・ライブラリーに許可が付与される必要があります。
例えば、server.xml 内で以下のように指定できます。
<javaPermission codebase="${shared.resource.dir}cloudant/cloudant-client-2.2.0.jar" className="java.security.AllPermission"/>
- server.xml ファイル内に、デフォルトのコンテナー認証別名エレメントを作成することで、データベースでの認証に使用されるユーザー名とパスワードを指定します。
<cloudant ... containerAuthDataRef="cadr"/> <authData id="cadr" user="username" password="password"/>
ヒント: デフォルトのコンテナー認証別名を指定する代わりに、 cloudant エレメントのユーザー名属性とパスワード属性を使用できます。構成ファイル内でパスワードを保護する方法について詳しくは、 Liberty: パスワード暗号化による保護の制限を参照してください。 - アプリケーションは、バインディング内でリソース参照ごとにコンテナー管理認証別名を指定できます。認証別名として指定される値は、サーバー構成内の authData エレメントの ID でなければなりません。
例えば、ibm-web-bnd.xml 内で以下のように指定できます。
<resource-ref name="java:module/env/cloudant/testDBRef" binding-name="cloudant/testDB"> <authentication-alias name="cadr"/> </resource-ref>
- 非管理 Cloudant リソースをアプリケーションで使用したい場合、cloudant-1.0 フィーチャーを有効にする必要はなく、cloudant エレメントまたは cloudantDatabase エレメントを server.xml ファイルに追加する必要もありません。
非管理 Cloudant を使用する場合、Cloudant ライブラリーはアプリケーション内で直接パッケージされるか、 または、server.xml 内でライブラリーを構成することができます。
<library name="cloudantLib"> <fileset dir="${shared.resource.dir}cloudant" includes="cloudant-client-2.2.0.jar commons-codec-1.6.jar commons-io-2.4.jar gson-2.2.4.jar"/> </library> <application ...> <classloader commonLibraryRef="cloudantLib"/> </application>
- cloudant 構成エレメントに JNDI 名が指定されている場合、その cloudant 構成エレメントを使用することによって構成した ClientBuilder を注入または検索できます。
<cloudant id="builder" jndiName="cloudant/builder" ... />
この cloudant 構成エレメントを使用することによって構成された ClientBuilder の注入または検索の例を以下に示します。
import com.cloudant.client.api.*; //... @Resource(lookup="cloudant/builder", name="cloudant/resRef") ClientBuilder builder; public void useInjectedBuilder() { CloudantClient client = builder.build(); Database db = client.database("somedb", true); // use the db ... // Shutdown the connection manager for this client when you are done with it // note that this renders the CloudantClient instance unusable after this point client.shutdown(); } public void useBuilderLookup() throws NamingException { ClientBuilder builder = (ClientBuilder) new InitialContext().lookup("java:comp/env/cloudant/resRef"); CloudantClient client = builder.build(); Database db = client.database("somedb",true); // use the db ... // Shutdown the connection manager for this client when you are done with it // note that this renders the CloudantClient instance unusable after this point client.shutdown(); }


http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twlp_couchdb_configdriver
ファイル名: twlp_couchdb_configdriver.html