Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Couchbase中查询视图,Java客户端_Java_Scala_Couchbase - Fatal编程技术网

在Couchbase中查询视图,Java客户端

在Couchbase中查询视图,Java客户端,java,scala,couchbase,Java,Scala,Couchbase,我正在使用java客户机的1.4.3版本,并试图连接到本地运行的Couchbase服务器,但出现了身份验证错误。在浏览了他们的客户端库如何在类中使用变量的代码(开源不是很好吗?)之后,我得出结论,如果我想连接到一个“bucket”,我必须为每个“bucket”创建一个用户名与该bucket相同的用户。这对我来说毫无意义。我一定是错了。我不是吗?必须有另一种方法。那边是什么 作为参考,下面是我用来创建连接的内容(它是Scala,但在Java中看起来几乎相同): 这直接源于他们的观点 他们的代码 如

我正在使用java客户机的1.4.3版本,并试图连接到本地运行的Couchbase服务器,但出现了身份验证错误。在浏览了他们的客户端库如何在类中使用变量的代码(开源不是很好吗?)之后,我得出结论,如果我想连接到一个“bucket”,我必须为每个“bucket”创建一个用户名与该bucket相同的用户。这对我来说毫无意义。我一定是错了。我不是吗?必须有另一种方法。那边是什么

作为参考,下面是我用来创建连接的内容(它是Scala,但在Java中看起来几乎相同):

这直接源于他们的观点

他们的代码

如果我查看他们连接到“视图”本身的代码,我会看到以下内容:

public ViewConnection createViewConnection(
    List<InetSocketAddress> addrs) throws IOException {
  return new ViewConnection(this, addrs, bucket, pass);
}
公共视图连接createViewConnection(
列表地址)引发IOException{
返回新的视图连接(this、addrs、bucket、pass);
}
然后将其传递给:

公共视图连接(最终CouchbaseConnectionFactory cf,
最终列表seedAddrs,最终字符串用户,
最终字符串密码)//更多代码。。。

而该
user
变量实际上在HTTP基本身份验证中用于形成身份验证头。当然,
user
变量相当于中的
bucket
变量。

您是正确的-每个bucket都应该以bucket名称作为用户进行身份验证。但是,没有任何用户可以“创建”-您只是使用在集群UI上创建bucket时设置的任何(bucket)名称和密码

请注意,人们通常在每个应用程序中使用一个bucket(不要认为bucket==表,而是认为bucket==数据库),因此对于大多数应用程序,通常不需要超过两个bucket

public ViewConnection createViewConnection(
    List<InetSocketAddress> addrs) throws IOException {
  return new ViewConnection(this, addrs, bucket, pass);
}
public ViewConnection(final CouchbaseConnectionFactory cf,
                      final List<InetSocketAddress> seedAddrs, final String user,
                      final String password) //more code...