[16.0.0.3 und höher]

Erweiterte Funktionen des Cloudant-Treibers konfigurieren

Sie können die erweiterten Funktionen des Cloudant-Java-Clients in Liberty verwenden.

Vorbereitende Schritte

Lesen Sie den Abschnitt zur Cloudant-Konfiguration mit dem Titel CouchDB-Konnektivität mit der Cloudant-Java-Clientbibliothek in Liberty konfigurieren und stellen Sie sicher, dass die erforderlichen Ressourcen Ihrer Datei server.xml konfiguriert sind.

Informationen zu diesem Vorgang

Als Benutzer des Cloudant-Java-Clients können Sie Ihren Server mit aktivierter Java 2-Sicherheit ausführen oder Authentifizierungsaliasse auf Ressourcenreferenzen anwenden. Alternativ können Sie den Cloudant-Java-Client ohne WebSphere-Integrationsfeatures verwenden. Die folgenden Schritte können unabhängig voneinander ausgeführt werden.

Vorgehensweise

  1. Wenn Ihr Server mit aktivierter Java 2-Sicherheit ausgeführt wird, müssen der cloudant-Clientbibliothek Berechtigungen erteilt werden.

    Sie können in der Datei server.xml beispielsweise Folgendes angeben:

    <javaPermission codebase="${shared.resource.dir}cloudant/cloudant-client-2.2.0.jar" className="java.security.AllPermission"/>
  2. Erstellen Sie ein Element für den Standardcontainerauthentifizierungsalias in der Datei server.xml, um einen Benutzernamen und ein Kennwort für die Authentifizierung bei der Datenbank anzugeben.
    <cloudant ... containerAuthDataRef="cadr"/>
    <authData id="cadr" user="Benutzername" password="Kennwort"/>
    Tipp: Anstatt einen Standardcontainerauthentifizierungsalias anzugeben, können Sie die Benutzernamens- und Kennwortattribute des cloudant-Elements verwenden. Weitere Informationen zum Schutz von Kennwörtern in Konfigurationsdateien finden Sie unter Liberty: Grenzen des Schutzes durch Kennwortverschlüsselung.
  3. Die Anwendung kann pro Ressourcenreferenz einen containergesteuerten Authentifizierungsalias in den Bindungen angeben. Der als Authentifizierungsalias angegebene Wert muss die ID eines authData-Elements in der Serverkonfiguration sein.

    Sie können in der Datei ibm-web-bnd.xml beispielsweise Folgendes angeben:

    <resource-ref name="java:module/env/cloudant/testDBRef" binding-name="cloudant/testDB">
      <authentication-alias name="cadr"/> 
    </resource-ref>
  4. Wenn Sie nicht verwaltete Cloudant-Ressourcen in Ihrer Anwendung verwenden möchten, muss weder das Feature cloudant-1.0 aktiviert werden, noch müssen der Datei server.xml cloudant- und cloudantDatabase-Elemente hinzugefügt werden.

    Bei der Verwendung nicht verwalteter Cloudant-Ressourcen können Sie die Cloudant-Bibliotheken direkt in die Anwendung packen oder Sie können eine Bibliothek in der Datei server.xml konfigurieren:

    <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. Wenn ein JNDI-Name in einem cloudant-Konfigurationselement angegeben wird, können Sie den ClientBuilder einfügen oder suchen, den Sie mit dem Konfigurationselement cloudant konfiguriert haben.
    <cloudant id="builder" jndiName="cloudant/builder" ... />

    Im Folgenden sehen Sie ein Beispiel für das Einfügen oder Suchen eines ClientBuilder, der mit dem Konfigurationselement "cloudant" konfiguriert wurde:

    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);
        // Datenbank verwenden...
        // Verbindungsmanager für diesen Client beenden, wenn Sie fertig sind
            // Beachten, dass die CloudantClient-Instanz danach nicht mehr verwendbar ist
        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);
        // Datenbank verwenden...
        // Verbindungsmanager für diesen Client beenden, wenn Sie fertig sind
            // Beachten, dass die CloudantClient-Instanz danach nicht mehr verwendbar ist
        client.shutdown(); 
    }

Symbol das den Typ des Artikels anzeigt. Taskartikel

Dateiname: twlp_couchdb_configdriver.html