在 Liberty 中,利用 Cloudant Java 用戶端程式庫來配置 CouchDB 連線功能

在 Liberty 中執行的應用程式可以存取 NoSQL 資料庫,例如 CouchDB。如果要存取 Liberty 中的 CouchDB 實例,建議的方式是利用 Cloudant Java 用戶端來配置連接器。

開始之前

Liberty 支援配置 Cloudant Java 用戶端,但不會提供必要的程式庫。您必須使用 Cloudant Java 用戶端 2.2.0 版或更新版本。您可以依如下所示,從多方來源(例如 GitHub 或 Eclipse Maven 外掛程式) 下載必要的程式庫,來取得 Cloudant Java 用戶端和其相依關係:
<dependency>
   <groupId>com.cloudant</groupId>
   <artifactId>cloudant-client</artifactId>
   <version>2.2.0</version>
</dependency>

關於這項作業

如果要讓應用程式能夠使用 Cloudant Java 用戶端 API,您必須在 server.xml 檔中配置下列項目:
  • 驅動程式的共用程式庫,以及其相依的程式庫
  • 共用程式庫的參照

之後,應用程式可以直接存取用戶端 API,不需要進行伺服器的任何其他配置。 如需相關資訊,請參閱 Cloudant 說明文件ClientBuilder 可以建立 CloudantClient 實例,之後,可以利用這些實例來搜尋、建立資料庫視圖,以及執行其他作業。 Database 可讓應用程式執行建立、更新和修改等作業。

為了讓應用程式注入 ClientBuilderDatabase 實例,您必須在伺服器配置中啟用 cloudant-1.0 特性及配置 Cloudant 資源。 Liberty 執行時期會管理它用來建立 Database 實例的 CloudantClient 實例的生命週期。

程序

  1. 安裝可供您應用程式和 Liberty 執行時期存取的 Cloudant Java 用戶端程式庫和其相依關係。

    舉例來說,將 Cloudant 驅動程式檔案和其相依關係放在 ${server.config.dir}/lib 目錄中。

  2. 更新伺服器配置,讓您的應用程式可透過資源查閱或資源注入來使用 ClientBuilderDatabase 實例。

    具體來說,您可以利用 JNDI,在 server.xml 檔中將 cloudant-1.0 特性新增到特性管理程式,以更新伺服器配置:

    <featureManager>
        <feature>cloudant-1.0</feature>
        <feature>jndi-1.0</feature>
    </featureManager>
    記住: 只有在您使用 JNDI 來查閱資源時,才需要 JNDI 特性。不過,當您使用資源注入時,就不需要此特性。
  3. 在 Liberty 伺服器的 server.xml 檔中,為 Cloudant 驅動程式檔案配置一個共用程式庫:
    <library id="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>

    視您應用程式使用的 API 而定,可能需要額外的程式庫。如需相關資訊,請參閱 Cloudant Java 用戶端說明文件

  4. 配置一個 cloudant 元素,以參照您在先前步驟中建立的共用程式庫和預設儲存器鑑別別名。
    您可以指定本端或遠端資料庫的 URL,或指定「Cloudant 資料庫即服務 (DBaaS)」的帳戶。請謹記,不要同時指定兩者。
    • 下列範例指定資料庫的 URL:
      <cloudant id="myCloudant" libraryRef="cloudantLib" url="http://example.com:5984" username="your_cloudant_username" password="your_cloudant_password"/>
    • 下列範例指定帳戶:
      <cloudant id="myCloudant" libraryRef="cloudantLib" account="account_name" username="your_cloudant_username" password="your_cloudant_password" />
    提示: 配置 JNDI 名稱,使應用程式能夠查閱 ClientBuilder 實例。
  5. 您也可以配置一個 cloudantDatabase 元素來參照步驟 4 所配置的 cloudant 元素。 這個配置可讓您的應用程式直接注入或查閱 com.cloudant.client.api.Database 物件。 這個設定很有用,因為資料庫名稱儲存在伺服器配置中,因而應用程式不需要知道資料庫的名稱。 此外,您的 Liberty 伺服器也會管理它建立的 cloudant 連線管理程式的生命週期。
    <cloudantDatabase jndiName="cloudant/mydb" databaseName="mydb" create="true" cloudantRef="myCloudant"/>
  6. 讓您的應用程式存取 Database Cloudant 資源。

    注入或查閱利用步驟 5 中的 cloudantDatabase 配置元素來配置的 Database。請注意,當您直接注入 Database 時,應用程式不需要知道資料庫的名稱,也不需要管理連線管理程式的生命週期。

    @Resource(lookup="cloudant/mydb")
    com.cloudant.client.api.Database db;
  7. 將您的應用程式配置成會參照步驟 3 所配置的 Cloudant 程式庫,使應用程式能夠使用 cloudant 類別。
    <application ...>
        <classloader commonLibraryRef="cloudantLib"/>
    </application>

下一步

配置應用程式的 Cloudant 連線功能之後,請從應用程式測試 CouchDB。


指示主題類型的圖示 作業主題



「時間戳記」圖示 前次更新: 2016 年 11 月 30 日
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twlp_couchdb_config
檔名:twlp_couchdb_config.html