我正在使用springboot和Couchbase创建一个用于reative编程的演示项目。我在application.properties文件中设置了以下属性:
spring.couchbase.bootstrap-hosts=localhost
spring.couchbase.bucket.name=vanquish
spring.couchbase.bucket.password=
spring.data.couchbase.repositories.type=auto
因为我在创建它时没有任何桶级密码。但是,由于以下异常,服务无法启动:
Caused by: com.couchbase.client.java.error.InvalidPasswordException: Passwords for bucket "vanquish" do not match.
at com.couchbase.client.java.CouchbaseAsyncCluster$OpenBucketErrorHandler.call(CouchbaseAsyncCluster.java:651) ~[java-client-2.5.9.jar:na]
at com.couchbase.client.java.CouchbaseAsyncCluster$OpenBucketErrorHandler.call(CouchbaseAsyncCluster.java:634) ~[java-client-2.5.9.jar:na]
at rx.internal.operators.OperatorOnErrorResumeNextViaFunction$4.onError(OperatorOnErrorResumeNextViaFunction.java:140) ~[rxjava-1.3.8.jar:1.3.8]
at rx.internal.operators.OnSubscribeMap$MapSubscriber.onError(OnSubscribeMap.java:88) ~[rxjava-1.3.8.jar:1.3.8]
at rx.observers.Subscribers$5.onError(Subscribers.java:230) ~[rxjava-1.3.8.jar:1.3.8]
at rx.internal.operators.OperatorObserveOn$ObserveOnSubscriber.checkTerminated(OperatorObserveOn.java:273) ~[rxjava-1.3.8.jar:1.3.8]
at rx.internal.operators.OperatorObserveOn$ObserveOnSubscriber.call(OperatorObserveOn.java:216) ~[rxjava-1.3.8.jar:1.3.8]
at rx.internal.schedulers.ScheduledAction.run(ScheduledAction.java:55) ~[rxjava-1.3.8.jar:1.3.8]
我尝试搜索所有属性但无法找到任何相关属性来设置用户名和密码,或者在couchbase中为存储桶设置密码。
假设您使用的是couchBase 5.x版:
要访问群集资源,Couchbase Server用户(管理员和应用程序)必须指定用户名和密码。
要遵循的步骤:
http://<couchBase-host>:8091/ui/index.html#!/overview
在“添加用户”表单中添加以下参数:
用户名:这必须是存储桶名称,在您的情况下为vanquish
。
密码:设置所需的密码,该密码必须是spring.couchbase.bucket.password
中设置的值。
角色:转到角色 - >铲斗角色 - >铲斗管理员并选择你的铲斗,在你的情况下vanquish
。
点击“保存”。
执行此操作并在spring.couchbase.bucket.password
中设置密码后,它应该可以正常工作。