Cloudant 드라이버의 고급 기능 구성

Liberty에서 Cloudant Java 클라이언트의 고급 기능을 사용할 수 있습니다.

시작하기 전에

Cloudant 구성 주제인 Liberty에서 Cloudant Java 클라이언트 라이브러리를 사용하여 CouchDB 연결 구성을 참고하고, server.xml의 필요한 자원이 구성되었는지 확인하십시오.

이 태스크 정보

Cloudant Java 클라이언트의 사용자로서, Java 2 보안이 사용 가능한 상태에서 서버를 실행하거나 자원 참조에 인증 별명을 적용하기 원할 수 있습니다. 또는 WebSphere 통합 기능 없이 Cloudant Java 클라이언트를 사용할 수 있습니다. 다음 단계는 서로 독립적으로 수행될 수 있습니다.

프로시저

  1. 사용자 서버가 Java 2 보안을 사용하면서 실행 중인 경우, cloudant 클라이언트 라이브러리에 권한이 부여되어야 합니다.

    예를 들어, server.xml에서 다음을 지정할 수 있습니다.

    <javaPermission codebase="${shared.resource.dir}cloudant/cloudant-client-2.2.0.jar" className="java.security.AllPermission"/>
  2. server.xml 파일에서 기본 컨테이너 인증 별명 요소를 작성하여 데이터베이스에 인증하는 데 사용될 사용자 이름과 비밀번호를 제공하십시오.
    <cloudant ... containerAuthDataRef="cadr"/>
    <authData id="cadr" user="username" password="password"/>
    팁: 기본 컨테이너 인증 별명을 지정하는 대신, cloudant 요소의 사용자 이름 및 비밀번호 속성을 사용할 수 있습니다. 자세한 정보는 Liberty: 비밀번호 암호화를 통한 보호의 한계를 참조하여 구성 파일에서 비밀번호를 보호하는 방법을 배우십시오.
  3. 애플리케이션은 바인딩에 있는 자원 참조별로 컨테이너 관리 인증 별명을 지정할 수 있습니다. 인증 별명으로 지정되는 값은 서버 구성에 있는 authData 요소의 ID여야 합니다.

    예를 들어, ibm-web-bnd.xml에서 다음을 지정할 수 있습니다.

    <resource-ref name="java:module/env/cloudant/testDBRef" binding-name="cloudant/testDB">
      <authentication-alias name="cadr"/> 
    </resource-ref>
  4. 애플리케이션에서 관리되지 않은 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>
  5. JNDI 이름이 cloudant 구성 요소에 지정되는 경우, 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(); 
    }

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



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