Here is my service code which is scala object.
object CouchbaseConnectionService extends Configuration with Logging {
val environment: CouchbaseEnvironment = DefaultCouchbaseEnvironment.builder().build()
val cluster = CouchbaseCluster.create(config.getConfig(“couchbase”).getStringList(“servers”))
val sessionBucket = cluster.openBucket(“Sessions”)
val tracksBucket = cluster.openBucket(“Tracks”)
val usersBucket = cluster.openBucket(“Users”)
val logsBucket = cluster.openBucket(“Logs”)
val empty = Some((JsonObject.empty(), 0))
def resolveBucket(name: String): Bucket = {
name match {
case “Sessions” => sessionBucket
case “Tracks” => tracksBucket
case “Users” => usersBucket
case “Logs” => logsBucket
case _ => sessionBucket
}
}
this is latest code of java client. Based on patch before returning it should we release input.
static class ByteBufToJsonObject implements Func1<ByteBuf, JsonObject> {
@Override
public JsonObject call(final ByteBuf input) {
if (input == null || input.readableBytes() == 0) {
return JsonObject.empty();
}
try {
return TRANSCODER.byteBufToJsonObject(input);
} catch (Exception e) {
throw new TranscodingException("Could not decode View JSON: " + input.toString(CharsetUtil.UTF_8), e);
} finally {
if (input.refCnt() > 0) {
input.release();
}
}
}
}
thanks