1

http://127.0.0.1:8091/pools私のデータ担当者は、私たちの Couchbase サーバーに接続するための URL を教えてくれました。poolsサフィックスは、クラスター内のすべてのノードへのアドレスであると言われました。

Spring 4.2.0.RELEASE と spring-data-couchbase 2.0.0.M1 を Couchbase 2.5.1 エンタープライズ エディション (build-1083) に対して使用しています。

ここで、上記の URL をそのまま getBootstrapHosts リストに追加すると、次のようになります。

  @Override
  protected List<String> getBootstrapHosts() {
    return Collections.singletonList(couchbaseProperties.getHost());
  }

値に対して数値形式の例外が発生し8091/poolsます。

しかし、http://127.0.0.1:8091URL を使用すると、無効なパスワードの例外が発生します。

最初の URL が使用されると思いますが、私が行った方法ではありません。

おそらく、AbstractCouchbaseConfiguration クラスでオーバーライドする必要があるメソッドがありますが、ソース コードを見てもあまり理解できませんでした。

これが Couchbase 構成クラスです。

@Configuration
@EnableCouchbaseRepositories(basePackages = { "com.thalasoft.data.couchbase.repository" })
@ComponentScan(nameGenerator = PackageBeanNameGenerator.class, basePackages = { "com.thalasoft.data.couchbase.config" })
@EnableTransactionManagement
public class CouchbaseConfiguration extends AbstractCouchbaseConfiguration {

  private static Logger logger = LoggerFactory.getLogger(CouchbaseConfiguration.class);

  @Autowired
  private CouchbaseProperties couchbaseProperties;

  @Override
  protected List<String> getBootstrapHosts() {
    return Collections.singletonList(couchbaseProperties.getHost());
  }

  @Override
  protected String getBucketName() {
    return couchbaseProperties.getBucketName();
  }

  @Override
  protected String getBucketPassword() {
    return couchbaseProperties.getBucketPassword();
  }

  @Bean
  public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
     return new PropertySourcesPlaceholderConfigurer();
  }

  @Bean
  public LocalValidatorFactoryBean validator() {
    return new LocalValidatorFactoryBean();
  }

  @Bean
  public ValidatingCouchbaseEventListener validationEventListener() {
    return new ValidatingCouchbaseEventListener(validator());
  }

}
4

1 に答える 1

1

データベース管理者が接続先のアドレスとしてあなたに与えたという事実127.0.0.1は奇妙に思えますが、クラスターの 1 つのノードがクライアント コードと同じ場所で実行されている場合、実際には有効である可能性があります...

この URL ベースの構文は、1.4.xSDK の生成に使用されたものであり、構成は実際には少し異なります2.x(1.4.x と 2.x の間の Couchbase SDK の進化を反映して): ホスト名または IP を指定するだけです。リスト内のブートストラップ元の各ノード。

だけで試してみてください"127.0.0.1"。バケット名やパスワードを指定する必要がある場合もあります (管理者に問い合わせてください)。Spring Data Couchbase がそれぞれに使用するデフォルトは"default"and (空のパスワード) ですが、 andメソッドを""オーバーライドして変更することができます。getBucketName()getBucketPassword()AbsctractCouchbaseConfiguration

PS:Spring Data Couchbaseドキュメントはこちらから入手できます

于 2015-12-14T16:30:51.313 に答える