CouchbaseClientProvider

La clase CouchbaseClientProvider se utiliza para definir los datos de conexión a la base de datos Couchbase que se utilizara.

Existen dos definiciones de clases dependiendo del contexto donde se utilicen.

  • Para aplicaciones Java Standar Edition

  • Para aplicaciones Java Enterprise Edition

Nota: Por razones de seguridad es recomendable habilitar la seguridad de mongodb indicar el usuario y password.

Aplicaciones Java Standar Edition

Si desarrollamos una aplicación de escrito definimos la clase

import com.couchbase.client.java.Cluster;
import com.couchbase.client.java.CouchbaseCluster;
import com.couchbase.client.java.env.CouchbaseEnvironment;
import com.couchbase.client.java.env.DefaultCouchbaseEnvironment;
/**
*
* @author avbravo
*/

public class CouchbaseClientProvider {
private Cluster cluster;


    public Cluster getCluster() {
           CouchbaseEnvironment env = DefaultCouchbaseEnvironment.builder()
                    .connectTimeout(10000) //10000ms = 10s, default is 5s
                    .build();
            cluster = CouchbaseCluster.create("localhost");
        return cluster;
    }


}

Aplicaciones Java Enterprise Edition

Para aplicaciones empresariales Java que utilizan el estándar Java Enterprise Edition, generalmente usadas en aplicaciones web, definimos la clase. Esto permite que la comunicación con la base de datos no sea necesario definir JNDI.

import javax.annotation.PostConstruct;

import javax.ejb.ConcurrencyManagement;

import javax.ejb.ConcurrencyManagementType;

import javax.ejb.Lock;

import javax.ejb.LockType;

import javax.ejb.Singleton;
import com.couchbase.client.java.Cluster;
import com.couchbase.client.java.CouchbaseCluster;
import com.couchbase.client.java.env.CouchbaseEnvironment;
import com.couchbase.client.java.env.DefaultCouchbaseEnvironment;


@Singleton

@ConcurrencyManagement(ConcurrencyManagementType.CONTAINER)

public class CouchbaseClientProvider  {

  private Cluster cluster  = null;

@Lock(LockType.READ)
public Cluster getCluster(){    
    return cluster;
}

@PostConstruct
public void init() {
        try {
       CouchbaseEnvironment env = DefaultCouchbaseEnvironment.builder()
                    .connectTimeout(10000) //10000ms = 10s, default is 5s
                    .build();
            cluster = CouchbaseCluster.create("localhost");

        } catch (Exception e) {
            JSFUtil.addErrorMessage("init() "+e.getLocalizedMessage());
        }

}       
}

Last updated