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。


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

檔名:twlp_couchdb_config.html