Package berlin.yuna.natsserver.config
Class NatsOptionsBuilder
- java.lang.Object
-
- berlin.yuna.natsserver.config.NatsOptionsBuilder
-
public class NatsOptionsBuilder extends Object
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
NatsOptionsBuilder()
-
Method Summary
-
-
-
Field Detail
-
logger
protected Logger logger
-
configMap
protected Map<NatsConfig,String> configMap
-
-
Method Detail
-
build
public NatsOptions build()
- Returns:
- immutable config for
Nats
-
version
public String version()
- Returns:
- Nats version
- See Also:
NatsConfig.NATS_VERSION
-
version
public NatsOptionsBuilder version(String version)
- Parameters:
version
- Sets the nats version- Returns:
- self
NatsOptionsBuilder
- See Also:
NatsConfig.NATS_VERSION
-
version
public NatsOptionsBuilder version(NatsVersion version)
- Parameters:
version
- Sets the nats version- Returns:
- self
NatsOptionsBuilder
- See Also:
NatsConfig.NATS_VERSION
-
port
public Integer port()
- Returns:
- The port to start on or <=0 to use an automatically allocated port
- See Also:
NatsConfig.PORT
-
port
public NatsOptionsBuilder port(Integer port)
- Parameters:
port
- The port to start on or <=0 to use an automatically allocated port- Returns:
- self
NatsOptionsBuilder
- See Also:
NatsConfig.PORT
-
jetStream
public Boolean jetStream()
- Returns:
- true if JetStream is enabled
- See Also:
NatsConfig.JETSTREAM
-
jetStream
public NatsOptionsBuilder jetStream(Boolean jetStream)
- Parameters:
jetStream
- whether to enable JetStream- Returns:
- self
NatsOptionsBuilder
- See Also:
NatsConfig.JETSTREAM
-
debug
public Boolean debug()
- Returns:
- true if debug is enabled
- See Also:
NatsConfig.DV
-
debug
public NatsOptionsBuilder debug(Boolean debug)
- Parameters:
debug
- whether to start the server with the debug flag- Returns:
- self
NatsOptionsBuilder
- See Also:
NatsConfig.DV
-
configFile
public Path configFile()
- Returns:
- path to a custom config file
- See Also:
NatsConfig.CONFIG
-
configFile
public NatsOptionsBuilder configFile(Path configFile)
- Parameters:
configFile
- path to a custom config file- Returns:
- self
NatsOptionsBuilder
- See Also:
NatsConfig.CONFIG
-
configPropertyFile
public Path configPropertyFile()
- Returns:
- path to a custom config property file
- See Also:
NatsConfig.NATS_PROPERTY_FILE
-
configPropertyFile
public NatsOptionsBuilder configPropertyFile(Path configFile)
- Parameters:
configFile
- path to a custom config property file- Returns:
- self
NatsOptionsBuilder
- See Also:
NatsConfig.NATS_PROPERTY_FILE
-
customArgs
public String[] customArgs()
- Returns:
- custom args to add to the command line
- See Also:
NatsConfig.NATS_ARGS
-
customArgs
public NatsOptionsBuilder customArgs(String... customArgs)
- Parameters:
customArgs
- custom args to set- Returns:
- self
NatsOptionsBuilder
- See Also:
NatsConfig.NATS_ARGS
-
addArgs
public NatsOptionsBuilder addArgs(String... customArgs)
- Parameters:
customArgs
- custom args to add- Returns:
- self
NatsOptionsBuilder
- See Also:
NatsConfig.NATS_ARGS
-
logger
public Logger logger()
- Returns:
- custom logger
-
logger
public NatsOptionsBuilder logger(Logger logger)
- Parameters:
logger
- custom logger- Returns:
- self
NatsOptionsBuilder
-
logLevel
public Level logLevel()
- Returns:
- custom LogLevel
-
logLevel
public NatsOptionsBuilder logLevel(Level level)
- Parameters:
level
- custom logLevel- Returns:
- self
NatsOptionsBuilder
-
autostart
public Boolean autostart()
- Returns:
- true = auto closable, false manual use `.start()` method
- See Also:
NatsConfig.NATS_AUTOSTART
-
autostart
public NatsOptionsBuilder autostart(Boolean autostart)
- Parameters:
autostart
- true = auto closable, false manual use `.start()` method- Returns:
- self
NatsOptionsBuilder
- See Also:
NatsConfig.NATS_AUTOSTART
-
timeoutMs
public Long timeoutMs()
- Returns:
- defines the start-up timeout in milliseconds (-1 == default)
-
timeoutMs
public NatsOptionsBuilder timeoutMs(Number timeoutMs)
- Parameters:
timeoutMs
- defines the start-up timeout in milliseconds (-1 == default)- Returns:
- self
NatsOptionsBuilder
- See Also:
NatsConfig.NATS_TIMEOUT_MS
-
configMap
public Map<NatsConfig,String> configMap()
- Returns:
- configMap
- See Also:
NatsConfig
-
configMap
public NatsOptionsBuilder configMap(Map<NatsConfig,String> configMap)
configMap- Returns:
- self
NatsOptionsBuilder
- See Also:
NatsConfig
-
config
public NatsOptionsBuilder config(NatsConfig key, String value)
Adds additionalNatsConfig
- Parameters:
key
- example:NatsConfig.PORT
value
- example: "4222"- Returns:
- self
NatsOptionsBuilder
- See Also:
NatsConfig
-
config
public NatsOptionsBuilder config(String... kv)
Adds additionalNatsConfig
The Key is caseInsensitive. Key doesn't need to have the prefix '-' or '--'- Parameters:
kv
- example: port, 4222, user, admin, password, admin- Returns:
- self
NatsOptionsBuilder
-
getValueI
protected static Integer getValueI(Map<NatsConfig,String> config, NatsConfig key)
-
getValueB
protected static Boolean getValueB(Map<NatsConfig,String> config, NatsConfig key)
-
getValue
protected static <T> T getValue(Map<NatsConfig,String> config, Function<String,T> map, NatsConfig key)
-
setValueI
protected static void setValueI(Map<NatsConfig,String> config, NatsConfig key, Integer value)
-
setValueB
protected static void setValueB(Map<NatsConfig,String> config, NatsConfig key, Boolean value)
-
setValue
protected static <T> void setValue(Map<NatsConfig,String> config, Function<T,String> map, NatsConfig key, T value)
-
-