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

Liberty에서 실행되는 애플리케이션은 CouchDB를 사용할 수 있습니다. CouchDB 인스턴스에 액세스하기 위해 애플리케이션은 ektorp 클라이언트 라이브러리를 사용하여 NoSQL 데이터베이스에 대한 커넥터를 구성할 수 있습니다.

시작하기 전에

Liberty는 CouchDB에 대한 구성 지원을 제공합니다. CouchDB는 확장 가능한 고성능의 개방형 소스 NoSQL 데이터베이스입니다.

ektorp Java 드라이버의 버전 1.4.1 이상을 사용해야 합니다. Maven 플러그인을 사용하여 ektorp 드라이브 및 해당 종속 항목을 얻으십시오.

<dependency>
    <groupId>org.ektorp</groupId>
    <artifactId>org.ektorp</artifactId>
    <version>1.4.1</version>
</dependency>

이 태스크 정보

애플리케이션이 CouchDB를 사용할 수 있게 하려면 server.xml 파일에서 CouchDB Java 드라이버에 대한 공유 라이브러리와 공유 라이브러리에 대한 라이브러리 참조를 구성해야 합니다. 애플리케이션은 애플리케이션에서 직접 액세스하거나 server.xml 파일에서 couchdb-1.0 기능 및 CouchDB 인스턴스 구성을 통해 CouchDB에 액세스할 수 있습니다.

프로시저

  1. 애플리케이션과 Liberty 런타임이 액세스할 수 있는 위치에 CouchDB Java 드라이버를 설치하십시오.

    예를 들어, ektorp 드라이버 파일 및 해당 종속 항목을 Liberty_profile_root/usr/servers/server_name/lib 디렉토리에 넣으십시오.

  2. server.xml 파일에 ektorp 드라이버 파일에 대한 공유 라이브러리를 구성하십시오.
    <library id="couchdb-lib">
        <fileset          
        dir='${server.config.dir}/lib'          
        includes='org.ektorp-1.4.1.jar        
        commons-codec-1.6.jar        
        commons-io-2.0.1.jar        
        commons-logging-1.1.1.jar        
        httpclient-4.2.5.jar        
        httpclient-cache-4.2.5.jar        
        httpcore-4.2.4.jar        
        jackson-annotations-2.2.2.jar        
        jackson-core-2.2.2.jar        
        jackson-databind-2.2.2.jar        
        slf4j-api-1.6.4.jar        
        slf4j-simple-1.6.4.jar'/>    
    	</library>
  3. 애플리케이션에서 직접 액세스하거나 couchdb-1.0 기능을 사용하여 애플리케이션이 CouchDB에 액세스할 수 있게 하십시오.
    • 애플리케이션에서 CouchDB에 직접 액세스할 수 있게 하십시오.
      1. server.xml 파일의 애플리케이션 요소에서 공유 라이브러리에 대한 라이브러리 참조를 구성하십시오.
        <application ...>
           <classloader commonLibraryRef="couchdb-lib"/>
        </application>
        이제 애플리케이션은 CouchDB API에 직접 액세스할 수 있습니다. 애플리케이션이 런타임 인젝션 엔진을 사용하도록 하려면 다음 단계를 계속하십시오.
    • server.xml 파일에서 couchdb-1.0 기능 및 couchdb 요소를 구성하십시오.
      1. couchdb-1.0 기능을 server.xml 파일에 추가하십시오.
        <featureManager>
           <feature>couchdb-1.0</feature>
           <feature>jndi-1.0</feature>
        </featureManager>
        JNDI 기능은 JNDI를 사용하여 자원을 검색하는 경우에만 필요합니다. 자원 인젝션을 사용하는 경우에는 이 기능이 필요하지 않습니다.
      2. 이전 단계에서 작성한 공유 라이브러리에 대한 참조가 있는 couchdb 요소를 구성하십시오.
        <couchdb id="couchdb" jndiName="couchdb/connector"
              libraryRef="couchdb-lib" url="http://example.com:5984" username="username"
              password="password"/>

        JNDI 이름을 구성하면 애플리케이션 또는 Liberty 런타임이 CouchDB 인스턴스를 검색할 수 있습니다.

      3. 애플리케이션이 CouchDB에 액세스할 수 있도록 하십시오.

        다음 예제는 JNDI 검색과 자원 인젝션 둘 다를 보여줍니다.

        public class TestServlet extends HttpServlet {
              @Resource(name = "couchdb/connector")
              protected CouchDbInstance db;
              ...
           protected void doGet(HttpServletRequest request,
                 HttpServletResponse response) throws ServletException, IOException {
           // Alternatively use InitialContext lookup
              CouchDbInstance lookup = (CouchDbInstance) new 
        InitialContext().lookup("java:comp/env/couchdb/connector");
        ...
      4. JNDI 검색을 사용하는 경우 자원 환경 참조를 애플리케이션의 web.xml 파일에 추가하십시오.
        <resource-env-ref>
           <resource-env-ref-name>couchdb/connector</resource-env-ref-name>
           <resource-env-ref-type>org.ektorp.CouchDbInstance</resource-env-ref-type>
        </resource-env-ref>
      couchdb-1.0 기능을 사용하여 온라인 Cloudant® 서비스에 대한 연결을 구성할 수 있습니다. couchdb 구성 요소에서 기존 Cloudant 계정의 URL, 사용자 ID 및 비밀번호를 지정하십시오. For example:
      <couchdb id='couchdb' jndiName='couchdb/connector' libraryRef='couchdb-lib' url='https://mylink.cloudant.com/' username='myusername' password='mypassword'/> 
      구성 파일에서 비밀번호를 보안화하는 방법에 대해 학습하려면 Liberty: 비밀번호 암호화를 통한 보호에 대한 한계에 대한 문서를 참조하십시오.

다음에 수행할 작업

이제 애플리케이션이 CouchDB를 사용하도록 구성되었으므로 애플리케이션에서 CouchDB의 사용을 테스트할 준비가 되었습니다.


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



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