Skip to content
This repository has been archived by the owner on Apr 23, 2020. It is now read-only.

Config Provider

Xiaochuan Yu edited this page Jul 29, 2017 · 6 revisions

Exhibitor relies on Shared Configuration and comes bundled with two potential implementations: Filesystem-based and S3-based. You should choose one of these or write your own.

S3

The S3 Config provider is implemented by S3ConfigProvider. You pass an instance of this to the Exhibitor constructor. It takes three arguments:

  • S3ClientFactory – you should use S3ClientFactoryImpl unless you have special needs
  • S3Credential – the AWS access key and id
  • S3ConfigArguments – the S3 bucket name and key to store the config

Consul

The Consul Config provider is implemented by ConsulConfigProvider. You pass an instance of this to the Exhibitor constructor. It takes arguments:

  • Consul – Consul client instance for connecting to consul cluster
  • prefix – a string indicating consul key-value path under which configs are stored
  • properties – default exhibitor properties as a Java Properties object
  • lockTimeoutMs (optional) – timeout, in milliseconds, for lock acquisition

Filesystem

If you use FileSystemConfigProvider you should have a shared directory in your system. FileSystemConfigProvider uses I/O locks to manage the shared file.