我正在使用1.4.3版本的Java客户端,并试图连接到Couchbase服务器,我在本地运行但是出现身份验证错误。在仔细查看他们的客户端库如何在他们的类中使用变量的代码(不是开放源码很好?)之后,我得出结论,如果我想能够连接到我有的“桶”为具有与该存储桶相同的用户名的每个“存储桶”创建一个用户。这对我来说没有意义。我必须错了。我不是吗?必须有另一种方式。那是什么?在Couchbase中查看视图,Java客户端
供参考,在这里是我用什么来创建连接(这是斯卡拉,但看起来几乎相同的在Java中):
val cf = new CouchbaseConnectionFactoryBuilder()
.setViewTimeout(opTimeout)
.setViewWorkerSize(workerSize)
.setViewConnsPerNode(conPerNode)
.buildCouchbaseConnection(nodes, bucket, password)
new CouchbaseClient(cf)
直接从他们的examples如下。
他们的代码
如果我看着他们连接到“查看”本身我看到下面的其中代码:
public ViewConnection createViewConnection(
List<InetSocketAddress> addrs) throws IOException {
return new ViewConnection(this, addrs, bucket, pass);
}
,然后传递给constructor:
public ViewConnection(final CouchbaseConnectionFactory cf,
final List<InetSocketAddress> seedAddrs, final String user,
final String password) //more code...
和user
变量是在HTTP基本认证实际上用于形成Authentica头标题。那user
变量当然相当于CouchbaseConnectionFactory中的bucket
变量。