Class OnapMsgRouterSubscriber.Builder
java.lang.Object
io.continual.onap.services.mrCommon.CommonClientBuilder
io.continual.onap.services.subscriber.OnapMsgRouterSubscriber.Builder
- Enclosing class:
OnapMsgRouterSubscriber
A builder for the subscriber.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionSet HTTP basic auth credentials.build()Build the subscriber given this specification.If no protocol is provided on a host string, default to http://If no protocol is provided on a host string, default to https://defaultHttps(boolean https) If no protocol is provided on a host string, default to https:// if true, http:// if false.Clear any hosts the builder already knows about.Specify the subscriber group that this subscriber belongs to.logTo(org.slf4j.Logger log) Specify the log to use.Do not specify a maximum number of events to return on a fetch, allowing the server to determine the number to send.Specify the topic to publish to.Provide a response parser.recvAtMostEvents(int eventCount) Specify the maximum number of events to return on a fetch.socketWaitAtMost(long ms) Specify the amount of time to wait on a socket connection, read, or write.usingProxy(String proxy) Specify a proxy to use for the HTTP connection to Message Router.usingProxy(String host, int port) Specify a proxy to use for the HTTP connection to Message Router.waitAtServerAtMost(long ms) Specify the amount of time to wait at the server for messages.withApiKey(String apiKey, String apiSecret) Set an API key and secret.Specify a clock to use within this implementation.Add a host to the set the publisher can use.Add each host to the host list.withHosts(Collection<String> hosts) Add each host to the host list.Specify the subscriber id for this subscriber.Methods inherited from class io.continual.onap.services.mrCommon.CommonClientBuilder
getClock, getCredentials, getDefaultHttps, getHosts, getLog, getProxy, getProxyHost, getProxyPort, getSocketWaitMs, getTopic, isProxied, waitingAtMost
-
Field Details
-
NO_RECV_LIMIT
public static final int NO_RECV_LIMIT- See Also:
-
-
Constructor Details
-
Builder
public Builder()
-
-
Method Details
-
withHost
Add a host to the set the publisher can use. If you do not provide a protocol, "http://" is assumed. You may specify "https://" or "http://". If you do not provide a port (e.g. "host:3904"), then 3904 is assumed for http, and 3905 for https. Thus "localhost" is treated as "http://localhost:3904".- Overrides:
withHostin classCommonClientBuilder- Parameters:
host- the host to add to the host set- Returns:
- this builder
-
withHosts
Add each host to the host list. See withHost ( String host ) for details.- Overrides:
withHostsin classCommonClientBuilder- Parameters:
hosts- a collection of hosts to add to the host set- Returns:
- this builder
-
withHosts
Add each host to the host list. See withHost ( String host ) for details.- Overrides:
withHostsin classCommonClientBuilder- Parameters:
hosts- a collection of hosts to add to the host set- Returns:
- this builder
-
forgetHosts
Clear any hosts the builder already knows about.- Overrides:
forgetHostsin classCommonClientBuilder- Returns:
- this builder
-
onTopic
Specify the topic to publish to.- Overrides:
onTopicin classCommonClientBuilder- Parameters:
topic- the topic on which to post messages- Returns:
- this builder
-
inGroup
Specify the subscriber group that this subscriber belongs to.- Parameters:
group- the subscriber group name- Returns:
- this builder
-
withSubscriberId
Specify the subscriber id for this subscriber. This must be unique across members of the group.- Parameters:
id- the unique subscriber ID in the group- Returns:
- this builder
-
waitAtServerAtMost
Specify the amount of time to wait at the server for messages. This is essentially a long-poll mechanism supported by the ONAP Message Router system.- Parameters:
ms- the number of milliseconds to wait at the server for messages.- Returns:
- this builder
-
recvAtMostEvents
Specify the maximum number of events to return on a fetch.- Parameters:
eventCount- the number of events to return at most- Returns:
- this builder
-
logTo
Specify the log to use. If never called, the default logger, named for this class, is used.- Overrides:
logToin classCommonClientBuilder- Parameters:
log- the slf4j logger to use for this library. Do not pass null.- Returns:
- this builder
-
noRecvLimit
Do not specify a maximum number of events to return on a fetch, allowing the server to determine the number to send.- Returns:
- this builder
-
socketWaitAtMost
Specify the amount of time to wait on a socket connection, read, or write.- Overrides:
socketWaitAtMostin classCommonClientBuilder- Parameters:
ms- the number of milliseconds to wait for a socket operation (connect/read/write)- Returns:
- this builder
-
asUser
Set HTTP basic auth credentials. If user is null, the auth info is removed from the builder.- Overrides:
asUserin classCommonClientBuilder- Parameters:
user- the username for basic auth credentialspwd- the password for basic auth credentials- Returns:
- this builder
-
withApiKey
Set an API key and secret. If the API key is null, the auth info is removed from the builder.- Overrides:
withApiKeyin classCommonClientBuilder- Parameters:
apiKey- the API key for the userapiSecret- the API key's secret- Returns:
- this builder
-
defaultHttp
If no protocol is provided on a host string, default to http://- Overrides:
defaultHttpin classCommonClientBuilder- Returns:
- this builder
-
defaultHttps
If no protocol is provided on a host string, default to https://- Overrides:
defaultHttpsin classCommonClientBuilder- Returns:
- this builder
-
defaultHttps
If no protocol is provided on a host string, default to https:// if true, http:// if false.- Overrides:
defaultHttpsin classCommonClientBuilder- Parameters:
https- if true, use https. if false, use http- Returns:
- this builder
-
withClock
Specify a clock to use within this implementation.- Overrides:
withClockin classCommonClientBuilder- Parameters:
clock- the clock to use for timing- Returns:
- this builder
-
usingProxy
Specify a proxy to use for the HTTP connection to Message Router.- Overrides:
usingProxyin classCommonClientBuilder- Parameters:
proxy- a proxy string, which can optionally end in :port, e.g. proxy.example.com:8888- Returns:
- this builder
-
usingProxy
Specify a proxy to use for the HTTP connection to Message Router.- Overrides:
usingProxyin classCommonClientBuilder- Parameters:
host- a proxy host nameport- a port number- Returns:
- this builder
-
parseWith
Provide a response parser.- Parameters:
p- the reponse parser- Returns:
- this builder
-
build
Build the subscriber given this specification.- Returns:
- a new subscriber
-