Package org.apache.pulsar.client.admin
Interface PulsarAdminBuilder
public interface PulsarAdminBuilder
Builder class for a
PulsarAdmin
instance.-
Method Summary
Modifier and TypeMethodDescriptionallowTlsInsecureConnection
(boolean allowTlsInsecureConnection) Configure whether the Pulsar admin client accept untrusted TLS certificate from broker (default: false).authentication
(String authPluginClassName, String authParamsString) Set the authentication provider to use in the Pulsar client instance.authentication
(String authPluginClassName, Map<String, String> authParams) Set the authentication provider to use in the Pulsar client instance.authentication
(org.apache.pulsar.client.api.Authentication authentication) Set the authentication provider to use in the Pulsar admin instance.autoCertRefreshTime
(int autoCertRefreshTime, TimeUnit autoCertRefreshTimeUnit) This sets auto cert refresh time if Pulsar admin uses tls authentication.build()
clone()
Create a copy of the current client builder.connectionTimeout
(int connectionTimeout, TimeUnit connectionTimeoutUnit) This sets the connection time out for the pulsar admin client.enableTlsHostnameVerification
(boolean enableTlsHostnameVerification) It allows to validate hostname verification when client connects to broker over TLS.Load the configuration from provided config map.readTimeout
(int readTimeout, TimeUnit readTimeoutUnit) This sets the server response read time out for the pulsar admin client for any request.requestTimeout
(int requestTimeout, TimeUnit requestTimeoutUnit) This sets the server request time out for the pulsar admin client for any request.serviceHttpUrl
(String serviceHttpUrl) Set the Pulsar service HTTP URL for the admin endpoint (eg.setContextClassLoader
(ClassLoader clientBuilderClassLoader) sslProvider
(String sslProvider) The name of the security provider used for SSL connections.tlsCertificateFilePath
(String tlsCertificateFilePath) Set the path to the TLS certificate file.tlsCiphers
(Set<String> tlsCiphers) A list of cipher suites.tlsKeyFilePath
(String tlsKeyFilePath) Set the path to the TLS key file.tlsKeyStorePassword
(String tlsKeyStorePassword) The store password for the key store file.tlsKeyStorePath
(String tlsTrustStorePath) The location of the key store file.tlsKeyStoreType
(String tlsKeyStoreType) The file format of the key store file.tlsProtocols
(Set<String> tlsProtocols) The SSL protocol used to generate the SSLContext.tlsTrustCertsFilePath
(String tlsTrustCertsFilePath) Set the path to the trusted TLS certificate file.tlsTrustStorePassword
(String tlsTrustStorePassword) The store password for the key store file.tlsTrustStorePath
(String tlsTrustStorePath) The location of the trust store file.tlsTrustStoreType
(String tlsTrustStoreType) The file format of the trust store file.useKeyStoreTls
(boolean useKeyStoreTls) If Tls is enabled, whether use KeyStore type as tls configuration parameter.
-
Method Details
-
build
- Returns:
- the new
PulsarAdmin
instance - Throws:
org.apache.pulsar.client.api.PulsarClientException
-
loadConf
Load the configuration from provided config map.Example:
Map<String, Object> config = new HashMap<>(); config.put("serviceHttpUrl", "http://localhost:6650"); PulsarAdminBuilder builder = ...; builder = builder.loadConf(config); PulsarAdmin client = builder.build();
- Parameters:
config
- configuration to load- Returns:
- the client builder instance
-
clone
PulsarAdminBuilder clone()Create a copy of the current client builder. Cloning the builder can be used to share an incomplete configuration and specialize it multiple times. For example:PulsarAdminBuilder builder = PulsarAdmin.builder().allowTlsInsecureConnection(false); PulsarAdmin client1 = builder.clone().serviceHttpUrl(URL_1).build(); PulsarAdmin client2 = builder.clone().serviceHttpUrl(URL_2).build();
-
serviceHttpUrl
Set the Pulsar service HTTP URL for the admin endpoint (eg. "http://my-broker.example.com:8080", or "https://my-broker.example.com:8443" for TLS) -
authentication
PulsarAdminBuilder authentication(String authPluginClassName, String authParamsString) throws org.apache.pulsar.client.api.PulsarClientException.UnsupportedAuthenticationException Set the authentication provider to use in the Pulsar client instance. Example:String AUTH_CLASS = "org.apache.pulsar.client.impl.auth.AuthenticationTls"; String AUTH_PARAMS = "tlsCertFile:/my/cert/file,tlsKeyFile:/my/key/file"; PulsarAdmin client = PulsarAdmin.builder() .serviceHttpUrl(SERVICE_HTTP_URL) .authentication(AUTH_CLASS, AUTH_PARAMS) .build(); ....
- Parameters:
authPluginClassName
- name of the Authentication-Plugin you want to useauthParamsString
- string which represents parameters for the Authentication-Plugin, e.g., "key1:val1,key2:val2"- Throws:
org.apache.pulsar.client.api.PulsarClientException.UnsupportedAuthenticationException
- failed to instantiate specified Authentication-Plugin
-
authentication
PulsarAdminBuilder authentication(String authPluginClassName, Map<String, String> authParams) throws org.apache.pulsar.client.api.PulsarClientException.UnsupportedAuthenticationExceptionSet the authentication provider to use in the Pulsar client instance. Example:String AUTH_CLASS = "org.apache.pulsar.client.impl.auth.AuthenticationTls"; Map<String, String> conf = new TreeMap<>(); conf.put("tlsCertFile", "/my/cert/file"); conf.put("tlsKeyFile", "/my/key/file"); PulsarAdmin client = PulsarAdmin.builder() .serviceHttpUrl(SERVICE_HTTP_URL) .authentication(AUTH_CLASS, conf) .build(); ....
- Parameters:
authPluginClassName
- name of the Authentication-Plugin you want to useauthParams
- map which represents parameters for the Authentication-Plugin- Throws:
org.apache.pulsar.client.api.PulsarClientException.UnsupportedAuthenticationException
- failed to instantiate specified Authentication-Plugin
-
authentication
Set the authentication provider to use in the Pulsar admin instance. Example:String AUTH_CLASS = "org.apache.pulsar.client.impl.auth.AuthenticationTls"; Map<String, String> conf = new TreeMap<>(); conf.put("tlsCertFile", "/my/cert/file"); conf.put("tlsKeyFile", "/my/key/file"); Authentication auth = AuthenticationFactor.create(AUTH_CLASS, conf); PulsarAdmin admin = PulsarAdmin.builder() .serviceHttpUrl(SERVICE_URL) .authentication(auth) .build(); ....
- Parameters:
authentication
- an instance of theAuthentication
provider already constructed
-
tlsKeyFilePath
Set the path to the TLS key file.- Parameters:
tlsKeyFilePath
-- Returns:
- the admin builder instance
-
tlsCertificateFilePath
Set the path to the TLS certificate file.- Parameters:
tlsCertificateFilePath
-- Returns:
- the admin builder instance
-
tlsTrustCertsFilePath
Set the path to the trusted TLS certificate file.- Parameters:
tlsTrustCertsFilePath
-
-
allowTlsInsecureConnection
Configure whether the Pulsar admin client accept untrusted TLS certificate from broker (default: false).- Parameters:
allowTlsInsecureConnection
-
-
enableTlsHostnameVerification
It allows to validate hostname verification when client connects to broker over TLS. It validates incoming x509 certificate and matches provided hostname(CN/SAN) with expected broker's host name. It follows RFC 2818, 3.1. Server Identity hostname verification.- Parameters:
enableTlsHostnameVerification
-- See Also:
-
useKeyStoreTls
If Tls is enabled, whether use KeyStore type as tls configuration parameter. False means use default pem type configuration.- Parameters:
useKeyStoreTls
-
-
sslProvider
The name of the security provider used for SSL connections. Default value is the default security provider of the JVM.- Parameters:
sslProvider
-
-
tlsKeyStoreType
The file format of the key store file.- Parameters:
tlsKeyStoreType
-- Returns:
- the admin builder instance
-
tlsKeyStorePath
The location of the key store file.- Parameters:
tlsTrustStorePath
-- Returns:
- the admin builder instance
-
tlsKeyStorePassword
The store password for the key store file.- Parameters:
tlsKeyStorePassword
-- Returns:
- the admin builder instance
-
tlsTrustStoreType
The file format of the trust store file.- Parameters:
tlsTrustStoreType
-
-
tlsTrustStorePath
The location of the trust store file.- Parameters:
tlsTrustStorePath
-
-
tlsTrustStorePassword
The store password for the key store file.- Parameters:
tlsTrustStorePassword
-- Returns:
- the client builder instance
-
tlsCiphers
A list of cipher suites. This is a named combination of authentication, encryption, MAC and key exchange algorithm used to negotiate the security settings for a network connection using TLS or SSL network protocol. By default all the available cipher suites are supported.- Parameters:
tlsCiphers
-
-
tlsProtocols
The SSL protocol used to generate the SSLContext. Default setting is TLS, which is fine for most cases. Allowed values in recent JVMs are TLS, TLSv1.3, TLSv1.2 and TLSv1.1.- Parameters:
tlsProtocols
-
-
connectionTimeout
This sets the connection time out for the pulsar admin client.- Parameters:
connectionTimeout
-connectionTimeoutUnit
-
-
readTimeout
This sets the server response read time out for the pulsar admin client for any request.- Parameters:
readTimeout
-readTimeoutUnit
-
-
requestTimeout
This sets the server request time out for the pulsar admin client for any request.- Parameters:
requestTimeout
-requestTimeoutUnit
-
-
autoCertRefreshTime
This sets auto cert refresh time if Pulsar admin uses tls authentication.- Parameters:
autoCertRefreshTime
-autoCertRefreshTimeUnit
-
-
setContextClassLoader
- Returns:
-