Back to godoc.org
github.com/Shonminh/apollo-client

Package agollo

v0.6.0
Latest Go to latest

The highest tagged major version is .

Published: Sep 7, 2020 | License: Apache-2.0 | Module: github.com/Shonminh/apollo-client

Index

Constants

const (
	// default apollo config file
	DEFAULT_CONFFILE = "app.properties"
	// default backup directory
	DEFAULT_BACKUPDIR = "."
	// default backup file suffix
	DEFAULT_BACKUPSUFFIX = ".apollo.json"
	// default cache size
	DEFAULT_CONFIGCACHESIZE = 50 * 1024 * 1024
	// default namespace
	DEFAULT_NAMESPACENAME = "application"
	// default cluster
	DEFAULT_CLUSTER = "default"

	// default notify timeout, see apollo notifications
	DEFAULT_NOTIFYTIMEOUT = 65 * time.Second

	// default connect timeout
	DEFAULT_CONNECTTIMEOUT = 10 * time.Second
	// default retry interval
	DEFAULT_RETRYINTERVAL = 3 * time.Second
)
const (
	EMPTY = ""
	SEP   = "."
)

exported constants

const (
	DEFAULT_NOFICATION_ID = -1
)

Variables

var (
	DEFAULT_REFRESHINTERVAL  = 5 * time.Minute
	DEFAULT_LONGPOLLINTERVAL = 5 * time.Second
)

func Cleanup

func Cleanup()

func GetConfigByKey

func GetConfigByKey(key string) (string, error)

func GetConfigCacheMap

func GetConfigCacheMap() map[string]string

func GetNamespaceList

func GetNamespaceList() []string

get namespace list being watched

func Init

func Init(opts ...Option) (err error)

func RegChangeEventHandler

func RegChangeEventHandler(in CHandler)

RegChangeEventHandler register a config change handler on agollo

func Start

func Start()

Start starts agollo

func StartContext

func StartContext(ctx context.Context)

StartContext starts agollo

type CHandler

type CHandler func(event *ChangeEvent) error

CHandler calls a handler to process config change event

type ChangeEvent

type ChangeEvent struct {
	Namespace string
	Changes   []*ConfigChange
}

ChangeEvent is event of cofig change

type ConfigChange

type ConfigChange struct {
	Key        string
	OldValue   string
	NewValue   string
	ChangeType ConfigChangeType
}

ConfigChange contains config change info

type ConfigChangeType

type ConfigChangeType int

ConfigChangeType specifies the type of a certain config

const (
	ADDED ConfigChangeType = iota
	MODIFIED
	DELETED
)

Config change types: add, modified, deleted

type ConfigReader

type ConfigReader interface {
	GetStringValue(key string) (string, error)
	GetIntValue(key string) (int, error)
	GetFloatValue(key string) (float64, error)
	GetBoolValue(key string) (bool, error)
	GetBytesValue(key string) ([]byte, error)
}

ConfigReader gets type-specified value

func GetConfigReader

func GetConfigReader(namespaceName string) ConfigReader

GetConfigReader returns a reader that can read config values

type Option

type Option interface {
	// contains filtered or unexported methods
}

Option contains apply method to load options

func IgnoreNameSpace

func IgnoreNameSpace() Option

func WithApolloAddr

func WithApolloAddr(s string) Option

set apollo address, for example:

127.0.0.1:8888
https://meta.apollo.com

func WithAppId

func WithAppId(s string) Option

func WithBackupDir

func WithBackupDir(s string) Option

set backup save directory

func WithBackupSuffix

func WithBackupSuffix(s string) Option

set backup file's suffix name

func WithCacheSize

func WithCacheSize(v int) Option

set cache size

func WithClientIp

func WithClientIp(v string) Option

set client ip

func WithCluster

func WithCluster(s string) Option

func WithConfFile

func WithConfFile(s string) Option

set apollo config file

func WithConnectTimeout

func WithConnectTimeout(v time.Duration) Option

set apollo config connect timeout

func WithDefaultVals

func WithDefaultVals(val map[string]interface{}, namespaceName string) Option

set key's default value for example:

   WithDefaultVals(map[string]interface{}{
		"key1": "11",
	  }, "application")
   when call GetStringValue("key1"), if config key1 not found, return 11
  NOTE: default value is bound to type, if call GetIntValue("key1") will return 0
 NOTE: default value's type is in int/string/bool/float64, will panic when use other types

func WithLogFunc

func WithLogFunc(logDebug, logInfo, logError logger.LogFunc) Option

func WithLongPollInterval

func WithLongPollInterval(v time.Duration) Option

set long poll interval

func WithNamespaceName

func WithNamespaceName(s string) Option

set namespace list, use , to separate each namespace

func WithNotifyTimeout

func WithNotifyTimeout(v time.Duration) Option

set apollo notify timeout

func WithQuickInitWithBK

func WithQuickInitWithBK() Option

get config from backup file when call Init function

func WithRefreshInterval

func WithRefreshInterval(v time.Duration) Option

set refresh interval

func WithRetryInterval

func WithRetryInterval(v time.Duration) Option

set retry interval

Package Files

Documentation was rendered with GOOS=linux and GOARCH=amd64.

Jump to identifier

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to identifier