Liberty에서 Cloudant Java 클라이언트 라이브러리를 사용하여 CouchDB 연결 구성

Liberty에서 실행하는 애플리케이션은 CouchDB 같은 NoSQL 데이터베이스에 액세스할 수 있습니다. 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는 애플리케이션이 작성, 업데이트 및 수정 오퍼레이션을 수행하도록 허용합니다.

애플리케이션이 ClientBuilder 또는 Database 인스턴스를 삽입하기 위해서는 cloudant-1.0 기능을 사용으로 설정하고 서버 구성에서 Cloudant 자원을 구성해야 합니다. Liberty 런타임이 Database 인스턴스 작성에 사용하는 CloudantClient 인스턴스의 라이프사이클을 관리합니다.

프로시저

  1. 애플리케이션 및 Liberty 런타임이 액세스할 수 있는 Cloudant Java 클라이언트 라이브러리 및 그의 종속 항목을 설치하십시오.

    예를 들어, Cloudant 드라이버 파일 및 그의 종속 항목을 ${server.config.dir}/lib 디렉토리에 배치하십시오.

  2. 서버 구성을 업데이트하여 ClientBuilder 또는 Database 인스턴스를 자원 검색이나 자원 인젝션을 사용하여 애플리케이션에 사용 가능하게 만드십시오.

    특히, JNDI를 사용하여 다음과 같이 cloudant-1.0 기능을 server.xml 파일의 기능 관리자에 추가하여 서버 구성을 업데이트할 수 있습니다.

    <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(Database as a Service)에 대한 계정 중 하나를 지정할 수 있습니다. 둘 다 지정하지 않는 것을 기억하십시오.
    • 다음 예는 데이터베이스의 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. 또한 4단계에서 구성한 cloudant 요소를 참조하는 cloudantDatabase 요소를 구성할 수도 있습니다. 이 구성은 애플리케이션이 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를 테스트하십시오.


주제의 유형을 표시하는 아이콘 태스크 주제



시간소인 아이콘 마지막 업데이트 날짜: Tuesday, 6 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twlp_couchdb_config
파일 이름: twlp_couchdb_config.html