You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by mm...@apache.org on 2018/02/18 08:13:46 UTC

[incubator-pulsar] branch asf-site updated: Updated site at revision cb5eb5b

This is an automated email from the ASF dual-hosted git repository.

mmerli pushed a commit to branch asf-site
in repository https://gitbox.apache.org/repos/asf/incubator-pulsar.git


The following commit(s) were added to refs/heads/asf-site by this push:
     new f32bfdc  Updated site at revision cb5eb5b
f32bfdc is described below

commit f32bfdc2187413005d31f3fbe559aadfd3c8912d
Author: jenkins <bu...@apache.org>
AuthorDate: Sun Feb 18 08:13:38 2018 +0000

    Updated site at revision cb5eb5b
---
 content/api/client/allclasses-frame.html           |   5 +
 content/api/client/allclasses-noframe.html         |   5 +
 content/api/client/deprecated-list.html            | 100 ++-
 content/api/client/index-all.html                  | 653 ++++++++++++++++---
 .../pulsar/client/api/AuthenticationUtil.html      |   4 +-
 .../apache/pulsar/client/api/ClientBuilder.html    | 682 +++++++++++++++++++
 .../pulsar/client/api/ClientConfiguration.html     | 107 ++-
 .../org/apache/pulsar/client/api/Consumer.html     |   4 +-
 .../apache/pulsar/client/api/ConsumerBuilder.html  | 646 ++++++++++++++++++
 .../pulsar/client/api/ConsumerConfiguration.html   | 107 ++-
 .../apache/pulsar/client/api/CryptoKeyReader.html  |  24 +-
 .../apache/pulsar/client/api/MessageRouter.html    |   4 +-
 .../pulsar/client/api/MessageRoutingMode.html      | 350 ++++++++++
 .../org/apache/pulsar/client/api/Producer.html     |   8 +-
 .../apache/pulsar/client/api/ProducerBuilder.html  | 720 +++++++++++++++++++++
 .../pulsar/client/api/ProducerConfiguration.html   | 170 ++++-
 .../org/apache/pulsar/client/api/PulsarClient.html | 275 ++++++--
 .../org/apache/pulsar/client/api/Reader.html       |   4 +-
 .../apache/pulsar/client/api/ReaderBuilder.html    | 448 +++++++++++++
 .../pulsar/client/api/ReaderConfiguration.html     |  58 +-
 .../apache/pulsar/client/api/package-frame.html    |   5 +
 .../apache/pulsar/client/api/package-summary.html  |  54 +-
 .../org/apache/pulsar/client/api/package-tree.html |  13 +
 content/api/client/overview-tree.html              |  13 +
 content/api/client/serialized-form.html            |  47 ++
 25 files changed, 4259 insertions(+), 247 deletions(-)

diff --git a/content/api/client/allclasses-frame.html b/content/api/client/allclasses-frame.html
index ab48302..7a429d7 100644
--- a/content/api/client/allclasses-frame.html
+++ b/content/api/client/allclasses-frame.html
@@ -15,9 +15,11 @@
 <li><a href="org/apache/pulsar/client/api/AuthenticationDataProvider.html" title="interface in org.apache.pulsar.client.api" target="classFrame"><span class="interfaceName">AuthenticationDataProvider</span></a></li>
 <li><a href="org/apache/pulsar/client/api/AuthenticationFactory.html" title="class in org.apache.pulsar.client.api" target="classFrame">AuthenticationFactory</a></li>
 <li><a href="org/apache/pulsar/client/api/AuthenticationUtil.html" title="class in org.apache.pulsar.client.api" target="classFrame">AuthenticationUtil</a></li>
+<li><a href="org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api" target="classFrame"><span class="interfaceName">ClientBuilder</span></a></li>
 <li><a href="org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api" target="classFrame">ClientConfiguration</a></li>
 <li><a href="org/apache/pulsar/client/api/CompressionType.html" title="enum in org.apache.pulsar.client.api" target="classFrame">CompressionType</a></li>
 <li><a href="org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api" target="classFrame"><span class="interfaceName">Consumer</span></a></li>
+<li><a href="org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api" target="classFrame"><span class="interfaceName">ConsumerBuilder</span></a></li>
 <li><a href="org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api" target="classFrame">ConsumerConfiguration</a></li>
 <li><a href="org/apache/pulsar/client/api/ConsumerCryptoFailureAction.html" title="enum in org.apache.pulsar.client.api" target="classFrame">ConsumerCryptoFailureAction</a></li>
 <li><a href="org/apache/pulsar/client/api/ConsumerEventListener.html" title="interface in org.apache.pulsar.client.api" target="classFrame"><span class="interfaceName">ConsumerEventListener</span></a></li>
@@ -30,7 +32,9 @@
 <li><a href="org/apache/pulsar/client/api/MessageId.html" title="interface in org.apache.pulsar.client.api" target="classFrame"><span class="interfaceName">MessageId</span></a></li>
 <li><a href="org/apache/pulsar/client/api/MessageListener.html" title="interface in org.apache.pulsar.client.api" target="classFrame"><span class="interfaceName">MessageListener</span></a></li>
 <li><a href="org/apache/pulsar/client/api/MessageRouter.html" title="interface in org.apache.pulsar.client.api" target="classFrame"><span class="interfaceName">MessageRouter</span></a></li>
+<li><a href="org/apache/pulsar/client/api/MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api" target="classFrame">MessageRoutingMode</a></li>
 <li><a href="org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api" target="classFrame"><span class="interfaceName">Producer</span></a></li>
+<li><a href="org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api" target="classFrame"><span class="interfaceName">ProducerBuilder</span></a></li>
 <li><a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api" target="classFrame">ProducerConfiguration</a></li>
 <li><a href="org/apache/pulsar/client/api/ProducerConfiguration.HashingScheme.html" title="enum in org.apache.pulsar.client.api" target="classFrame">ProducerConfiguration.HashingScheme</a></li>
 <li><a href="org/apache/pulsar/client/api/ProducerConfiguration.MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api" target="classFrame">ProducerConfiguration.MessageRoutingMode</a></li>
@@ -64,6 +68,7 @@
 <li><a href="org/apache/pulsar/client/api/PulsarClientException.UnsupportedAuthenticationException.html" title="class in org.apache.pulsar.client.api" target="classFrame">PulsarClientException.UnsupportedAuthenticationException</a></li>
 <li><a href="org/apache/pulsar/client/api/url/PulsarURLStreamHandlerFactory.html" title="class in org.apache.pulsar.client.api.url" target="classFrame">PulsarURLStreamHandlerFactory</a></li>
 <li><a href="org/apache/pulsar/client/api/Reader.html" title="interface in org.apache.pulsar.client.api" target="classFrame"><span class="interfaceName">Reader</span></a></li>
+<li><a href="org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api" target="classFrame"><span class="interfaceName">ReaderBuilder</span></a></li>
 <li><a href="org/apache/pulsar/client/api/ReaderConfiguration.html" title="class in org.apache.pulsar.client.api" target="classFrame">ReaderConfiguration</a></li>
 <li><a href="org/apache/pulsar/client/api/ReaderListener.html" title="interface in org.apache.pulsar.client.api" target="classFrame"><span class="interfaceName">ReaderListener</span></a></li>
 <li><a href="org/apache/pulsar/client/api/SubscriptionType.html" title="enum in org.apache.pulsar.client.api" target="classFrame">SubscriptionType</a></li>
diff --git a/content/api/client/allclasses-noframe.html b/content/api/client/allclasses-noframe.html
index cd14eee..62f4f26 100644
--- a/content/api/client/allclasses-noframe.html
+++ b/content/api/client/allclasses-noframe.html
@@ -15,9 +15,11 @@
 <li><a href="org/apache/pulsar/client/api/AuthenticationDataProvider.html" title="interface in org.apache.pulsar.client.api"><span class="interfaceName">AuthenticationDataProvider</span></a></li>
 <li><a href="org/apache/pulsar/client/api/AuthenticationFactory.html" title="class in org.apache.pulsar.client.api">AuthenticationFactory</a></li>
 <li><a href="org/apache/pulsar/client/api/AuthenticationUtil.html" title="class in org.apache.pulsar.client.api">AuthenticationUtil</a></li>
+<li><a href="org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api"><span class="interfaceName">ClientBuilder</span></a></li>
 <li><a href="org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api">ClientConfiguration</a></li>
 <li><a href="org/apache/pulsar/client/api/CompressionType.html" title="enum in org.apache.pulsar.client.api">CompressionType</a></li>
 <li><a href="org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api"><span class="interfaceName">Consumer</span></a></li>
+<li><a href="org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api"><span class="interfaceName">ConsumerBuilder</span></a></li>
 <li><a href="org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a></li>
 <li><a href="org/apache/pulsar/client/api/ConsumerCryptoFailureAction.html" title="enum in org.apache.pulsar.client.api">ConsumerCryptoFailureAction</a></li>
 <li><a href="org/apache/pulsar/client/api/ConsumerEventListener.html" title="interface in org.apache.pulsar.client.api"><span class="interfaceName">ConsumerEventListener</span></a></li>
@@ -30,7 +32,9 @@
 <li><a href="org/apache/pulsar/client/api/MessageId.html" title="interface in org.apache.pulsar.client.api"><span class="interfaceName">MessageId</span></a></li>
 <li><a href="org/apache/pulsar/client/api/MessageListener.html" title="interface in org.apache.pulsar.client.api"><span class="interfaceName">MessageListener</span></a></li>
 <li><a href="org/apache/pulsar/client/api/MessageRouter.html" title="interface in org.apache.pulsar.client.api"><span class="interfaceName">MessageRouter</span></a></li>
+<li><a href="org/apache/pulsar/client/api/MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api">MessageRoutingMode</a></li>
 <li><a href="org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api"><span class="interfaceName">Producer</span></a></li>
+<li><a href="org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api"><span class="interfaceName">ProducerBuilder</span></a></li>
 <li><a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></li>
 <li><a href="org/apache/pulsar/client/api/ProducerConfiguration.HashingScheme.html" title="enum in org.apache.pulsar.client.api">ProducerConfiguration.HashingScheme</a></li>
 <li><a href="org/apache/pulsar/client/api/ProducerConfiguration.MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api">ProducerConfiguration.MessageRoutingMode</a></li>
@@ -64,6 +68,7 @@
 <li><a href="org/apache/pulsar/client/api/PulsarClientException.UnsupportedAuthenticationException.html" title="class in org.apache.pulsar.client.api">PulsarClientException.UnsupportedAuthenticationException</a></li>
 <li><a href="org/apache/pulsar/client/api/url/PulsarURLStreamHandlerFactory.html" title="class in org.apache.pulsar.client.api.url">PulsarURLStreamHandlerFactory</a></li>
 <li><a href="org/apache/pulsar/client/api/Reader.html" title="interface in org.apache.pulsar.client.api"><span class="interfaceName">Reader</span></a></li>
+<li><a href="org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api"><span class="interfaceName">ReaderBuilder</span></a></li>
 <li><a href="org/apache/pulsar/client/api/ReaderConfiguration.html" title="class in org.apache.pulsar.client.api">ReaderConfiguration</a></li>
 <li><a href="org/apache/pulsar/client/api/ReaderListener.html" title="interface in org.apache.pulsar.client.api"><span class="interfaceName">ReaderListener</span></a></li>
 <li><a href="org/apache/pulsar/client/api/SubscriptionType.html" title="enum in org.apache.pulsar.client.api">SubscriptionType</a></li>
diff --git a/content/api/client/deprecated-list.html b/content/api/client/deprecated-list.html
index 68b7542..53417ab 100644
--- a/content/api/client/deprecated-list.html
+++ b/content/api/client/deprecated-list.html
@@ -71,10 +71,46 @@
 <h1 title="Deprecated API" class="title">Deprecated API</h1>
 <h2 title="Contents">Contents</h2>
 <ul>
+<li><a href="#class">Deprecated Classes</a></li>
 <li><a href="#method">Deprecated Methods</a></li>
 </ul>
 </div>
-<div class="contentContainer"><a name="method">
+<div class="contentContainer"><a name="class">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<table class="deprecatedSummary" border="0" cellpadding="3" cellspacing="0" summary="Deprecated Classes table, listing deprecated classes, and an explanation">
+<caption><span>Deprecated Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Class and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api">org.apache.pulsar.client.api.ClientConfiguration</a>
+<div class="block"><span class="deprecationComment">Use <a href="org/apache/pulsar/client/api/PulsarClient.html#builder--"><code>PulsarClient.builder()</code></a> to construct and configure a new <a href="org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api"><code>PulsarClient</code></a> instance</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">org.apache.pulsar.client.api.ConsumerConfiguration</a>
+<div class="block"><span class="deprecationComment">Use <a href="org/apache/pulsar/client/api/PulsarClient.html#newConsumer--"><code>PulsarClient.newConsumer()</code></a> to build and configure a <a href="org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api"><code>Consumer</code></a> instance</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">org.apache.pulsar.client.api.ProducerConfiguration</a>
+<div class="block"><span class="deprecationComment">use <a href="org/apache/pulsar/client/api/PulsarClient.html#newProducer--"><code>PulsarClient.newProducer()</code></a> to construct and configure a <a href="org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api"><code>Producer</code></a> instance</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/pulsar/client/api/ReaderConfiguration.html" title="class in org.apache.pulsar.client.api">org.apache.pulsar.client.api.ReaderConfiguration</a>
+<div class="block"><span class="deprecationComment">Use <a href="org/apache/pulsar/client/api/PulsarClient.html#newReader--"><code>PulsarClient.newReader()</code></a> to construct and configure a <a href="org/apache/pulsar/client/api/Reader.html" title="interface in org.apache.pulsar.client.api"><code>Reader</code></a> instance</span></div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+<a name="method">
 <!--   -->
 </a>
 <ul class="blockList">
@@ -98,9 +134,69 @@
 </td>
 </tr>
 <tr class="altColor">
+<td class="colOne"><a href="org/apache/pulsar/client/api/PulsarClient.html#create-java.lang.String-">org.apache.pulsar.client.api.PulsarClient.create(String)</a>
+<div class="block"><span class="deprecationComment">use <a href="org/apache/pulsar/client/api/PulsarClient.html#builder--"><code>PulsarClient.builder()</code></a> to construct a client instance</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/pulsar/client/api/PulsarClient.html#create-java.lang.String-org.apache.pulsar.client.api.ClientConfiguration-">org.apache.pulsar.client.api.PulsarClient.create(String, ClientConfiguration)</a>
+<div class="block"><span class="deprecationComment">use <a href="org/apache/pulsar/client/api/PulsarClient.html#builder--"><code>PulsarClient.builder()</code></a> to construct a client instance</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/pulsar/client/api/PulsarClient.html#createProducer-java.lang.String-">org.apache.pulsar.client.api.PulsarClient.createProducer(String)</a>
+<div class="block"><span class="deprecationComment">use <a href="org/apache/pulsar/client/api/PulsarClient.html#newProducer--"><code>PulsarClient.newProducer()</code></a> to build a new producer</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/pulsar/client/api/PulsarClient.html#createProducer-java.lang.String-org.apache.pulsar.client.api.ProducerConfiguration-">org.apache.pulsar.client.api.PulsarClient.createProducer(String, ProducerConfiguration)</a>
+<div class="block"><span class="deprecationComment">use <a href="org/apache/pulsar/client/api/PulsarClient.html#newProducer--"><code>PulsarClient.newProducer()</code></a> to build a new producer</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/pulsar/client/api/PulsarClient.html#createProducerAsync-java.lang.String-">org.apache.pulsar.client.api.PulsarClient.createProducerAsync(String)</a>
+<div class="block"><span class="deprecationComment">use <a href="org/apache/pulsar/client/api/PulsarClient.html#newProducer--"><code>PulsarClient.newProducer()</code></a> to build a new producer</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/pulsar/client/api/PulsarClient.html#createProducerAsync-java.lang.String-org.apache.pulsar.client.api.ProducerConfiguration-">org.apache.pulsar.client.api.PulsarClient.createProducerAsync(String, ProducerConfiguration)</a>
+<div class="block"><span class="deprecationComment">use <a href="org/apache/pulsar/client/api/PulsarClient.html#newProducer--"><code>PulsarClient.newProducer()</code></a> to build a new producer</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/pulsar/client/api/PulsarClient.html#createReader-java.lang.String-org.apache.pulsar.client.api.MessageId-org.apache.pulsar.client.api.ReaderConfiguration-">org.apache.pulsar.client.api.PulsarClient.createReader(String, MessageId, ReaderConfiguration)</a>
+<div class="block"><span class="deprecationComment">Use <a href="org/apache/pulsar/client/api/PulsarClient.html#newReader--"><code>PulsarClient.newReader()</code></a> to build a new reader</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/pulsar/client/api/PulsarClient.html#createReaderAsync-java.lang.String-org.apache.pulsar.client.api.MessageId-org.apache.pulsar.client.api.ReaderConfiguration-">org.apache.pulsar.client.api.PulsarClient.createReaderAsync(String, MessageId, ReaderConfiguration)</a>
+<div class="block"><span class="deprecationComment">Use <a href="org/apache/pulsar/client/api/PulsarClient.html#newReader--"><code>PulsarClient.newReader()</code></a> to build a new reader</span></div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#getMessageRouter-int-">org.apache.pulsar.client.api.ProducerConfiguration.getMessageRouter(int)</a>
 <div class="block"><span class="deprecationComment">since 1.22.0-incubating. <tt>numPartitions</tt> is already passed as parameter in
- <a href="org/apache/pulsar/client/api/MessageRouter.html#choosePartition-org.apache.pulsar.client.api.Message-org.apache.pulsar.client.api.TopicMetadata-"><code>MessageRouter.choosePartition(Message, TopicMetadata)</code></a>.</span></div>
+             <a href="org/apache/pulsar/client/api/MessageRouter.html#choosePartition-org.apache.pulsar.client.api.Message-org.apache.pulsar.client.api.TopicMetadata-"><code>MessageRouter.choosePartition(Message, TopicMetadata)</code></a>.</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/pulsar/client/api/PulsarClient.html#subscribe-java.lang.String-java.lang.String-">org.apache.pulsar.client.api.PulsarClient.subscribe(String, String)</a>
+<div class="block"><span class="deprecationComment">Use <a href="org/apache/pulsar/client/api/PulsarClient.html#newConsumer--"><code>PulsarClient.newConsumer()</code></a> to build a new consumer</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/pulsar/client/api/PulsarClient.html#subscribe-java.lang.String-java.lang.String-org.apache.pulsar.client.api.ConsumerConfiguration-">org.apache.pulsar.client.api.PulsarClient.subscribe(String, String, ConsumerConfiguration)</a>
+<div class="block"><span class="deprecationComment">Use <a href="org/apache/pulsar/client/api/PulsarClient.html#newConsumer--"><code>PulsarClient.newConsumer()</code></a> to build a new consumer</span></div>
+</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><a href="org/apache/pulsar/client/api/PulsarClient.html#subscribeAsync-java.lang.String-java.lang.String-">org.apache.pulsar.client.api.PulsarClient.subscribeAsync(String, String)</a>
+<div class="block"><span class="deprecationComment">Use <a href="org/apache/pulsar/client/api/PulsarClient.html#newConsumer--"><code>PulsarClient.newConsumer()</code></a> to build a new consumer</span></div>
+</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><a href="org/apache/pulsar/client/api/PulsarClient.html#subscribeAsync-java.lang.String-java.lang.String-org.apache.pulsar.client.api.ConsumerConfiguration-">org.apache.pulsar.client.api.PulsarClient.subscribeAsync(String, String, ConsumerConfiguration)</a>
+<div class="block"><span class="deprecationComment">Use <a href="org/apache/pulsar/client/api/PulsarClient.html#newConsumer--"><code>PulsarClient.newConsumer()</code></a> to build a new consumer</span></div>
 </td>
 </tr>
 </tbody>
diff --git a/content/api/client/index-all.html b/content/api/client/index-all.html
index 2253c71..e1f035a 100644
--- a/content/api/client/index-all.html
+++ b/content/api/client/index-all.html
@@ -106,14 +106,39 @@
 <div class="block">Asynchronously Acknowledge the reception of all the messages in the stream up to (and including) the provided
  message.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerBuilder.html#ackTimeout-long-java.util.concurrent.TimeUnit-">ackTimeout(long, TimeUnit)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a></dt>
+<dd>
+<div class="block">Set the timeout for unacked messages, truncated to the nearest millisecond.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerBuilder.html#addEncryptionKey-java.lang.String-">addEncryptionKey(String)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></dt>
+<dd>
+<div class="block">Add public encryption key, used by producer to encrypt the data key.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#addEncryptionKey-java.lang.String-">addEncryptionKey(String)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Add public encryption key, used by producer to encrypt the data key.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientBuilder.html#allowTlsInsecureConnection-boolean-">allowTlsInsecureConnection(boolean)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></dt>
+<dd>
+<div class="block">Configure whether the Pulsar client accept untrusted TLS certificate from broker <i>(default: false)</i></div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/PulsarClientException.AlreadyClosedException.html#AlreadyClosedException-java.lang.String-">AlreadyClosedException(String)</a></span> - Constructor for exception org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/PulsarClientException.AlreadyClosedException.html" title="class in org.apache.pulsar.client.api">PulsarClientException.AlreadyClosedException</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/pulsar/client/api/Authentication.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Authentication</span></a> - Interface in <a href="org/apache/pulsar/client/api/package-summary.html">org.apache.pulsar.client.api</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientBuilder.html#authentication-org.apache.pulsar.client.api.Authentication-">authentication(Authentication)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></dt>
+<dd>
+<div class="block">Set the authentication provider to use in the Pulsar client instance.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientBuilder.html#authentication-java.lang.String-java.lang.String-">authentication(String, String)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></dt>
+<dd>
+<div class="block">Set the authentication provider to use in the Pulsar client instance.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientBuilder.html#authentication-java.lang.String-java.util.Map-">authentication(String, Map&lt;String, String&gt;)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></dt>
+<dd>
+<div class="block">Set the authentication provider to use in the Pulsar client instance.</div>
+</dd>
 <dt><a href="org/apache/pulsar/client/api/AuthenticationDataProvider.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">AuthenticationDataProvider</span></a> - Interface in <a href="org/apache/pulsar/client/api/package-summary.html">org.apache.pulsar.client.api</a></dt>
 <dd>
 <div class="block">Interface for accessing data which are used in variety of authentication schemes on client side</div>
@@ -136,6 +161,15 @@
 </a>
 <h2 class="title">B</h2>
 <dl>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerBuilder.html#batchingMaxMessages-int-">batchingMaxMessages(int)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></dt>
+<dd>
+<div class="block">Set the maximum number of messages permitted in a batch.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerBuilder.html#batchingMaxPublishDelay-long-java.util.concurrent.TimeUnit-">batchingMaxPublishDelay(long, TimeUnit)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></dt>
+<dd>
+<div class="block">Set the time period within which the messages sent will be batched <i>default: 10ms</i> if batch messages are
+ enabled.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerEventListener.html#becameActive-org.apache.pulsar.client.api.Consumer-int-">becameActive(Consumer, int)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerEventListener.html" title="interface in org.apache.pulsar.client.api">ConsumerEventListener</a></dt>
 <dd>
 <div class="block">Notified when the consumer group is changed, and the consumer becomes the active consumer.</div>
@@ -144,14 +178,25 @@
 <dd>
 <div class="block">Notified when the consumer group is changed, and the consumer is still inactive or becomes inactive.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerBuilder.html#blockIfQueueFull-boolean-">blockIfQueueFull(boolean)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></dt>
+<dd>
+<div class="block">Set whether the <a href="org/apache/pulsar/client/api/Producer.html#send-byte:A-"><code>Producer.send(byte[])</code></a> and <a href="org/apache/pulsar/client/api/Producer.html#sendAsync-byte:A-"><code>Producer.sendAsync(byte[])</code></a> operations should block when the outgoing
+ message queue is full.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/PulsarClientException.BrokerMetadataException.html#BrokerMetadataException-java.lang.String-">BrokerMetadataException(String)</a></span> - Constructor for exception org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/PulsarClientException.BrokerMetadataException.html" title="class in org.apache.pulsar.client.api">PulsarClientException.BrokerMetadataException</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/PulsarClientException.BrokerPersistenceException.html#BrokerPersistenceException-java.lang.String-">BrokerPersistenceException(String)</a></span> - Constructor for exception org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/PulsarClientException.BrokerPersistenceException.html" title="class in org.apache.pulsar.client.api">PulsarClientException.BrokerPersistenceException</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientBuilder.html#build--">build()</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/MessageBuilder.html#build--">build()</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/MessageBuilder.html" title="interface in org.apache.pulsar.client.api">MessageBuilder</a></dt>
 <dd>
 <div class="block">Finalize the immutable message</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/PulsarClient.html#builder--">builder()</a></span> - Static method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api">PulsarClient</a></dt>
+<dd>
+<div class="block">Get a new builder instance that can used to configure and build a <a href="org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api"><code>PulsarClient</code></a> instance.</div>
+</dd>
 </dl>
 <a name="I:C">
 <!--   -->
@@ -170,12 +215,36 @@
 <dd>
 <div class="block">Choose a partition based on msg and the topic metadata.</div>
 </dd>
+<dt><a href="org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">ClientBuilder</span></a> - Interface in <a href="org/apache/pulsar/client/api/package-summary.html">org.apache.pulsar.client.api</a></dt>
+<dd>
+<div class="block">Builder interface that is used to construct a <a href="org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api"><code>PulsarClient</code></a> instance.</div>
+</dd>
 <dt><a href="org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api"><span class="typeNameLink">ClientConfiguration</span></a> - Class in <a href="org/apache/pulsar/client/api/package-summary.html">org.apache.pulsar.client.api</a></dt>
 <dd>
-<div class="block">Class used to specify client side configuration like authentication, etc..</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">Use <a href="org/apache/pulsar/client/api/PulsarClient.html#builder--"><code>PulsarClient.builder()</code></a> to construct and configure a new <a href="org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api"><code>PulsarClient</code></a> instance</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientConfiguration.html#ClientConfiguration--">ClientConfiguration()</a></span> - Constructor for class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api">ClientConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientBuilder.html#clone--">clone()</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></dt>
+<dd>
+<div class="block">Create a copy of the current client builder.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerBuilder.html#clone--">clone()</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a></dt>
+<dd>
+<div class="block">Create a copy of the current consumer builder.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerBuilder.html#clone--">clone()</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></dt>
+<dd>
+<div class="block">Create a copy of the current <a href="org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api"><code>ProducerBuilder</code></a>.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ReaderBuilder.html#clone--">clone()</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api">ReaderBuilder</a></dt>
+<dd>
+<div class="block">Create a copy of the current <a href="org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api"><code>ReaderBuilder</code></a>.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/Consumer.html#close--">close()</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api">Consumer</a></dt>
 <dd>
 <div class="block">Close the consumer and stop the broker to push more messages.</div>
@@ -206,6 +275,10 @@
 </dd>
 <dt><a href="org/apache/pulsar/client/api/CompressionType.html" title="enum in org.apache.pulsar.client.api"><span class="typeNameLink">CompressionType</span></a> - Enum in <a href="org/apache/pulsar/client/api/package-summary.html">org.apache.pulsar.client.api</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerBuilder.html#compressionType-org.apache.pulsar.client.api.CompressionType-">compressionType(CompressionType)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></dt>
+<dd>
+<div class="block">Set the compression type for the producer.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/Authentication.html#configure-java.util.Map-">configure(Map&lt;String, String&gt;)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/Authentication.html" title="interface in org.apache.pulsar.client.api">Authentication</a></dt>
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>
@@ -224,24 +297,40 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/PulsarClientException.ConnectException.html#ConnectException-java.lang.String-">ConnectException(String)</a></span> - Constructor for exception org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/PulsarClientException.ConnectException.html" title="class in org.apache.pulsar.client.api">PulsarClientException.ConnectException</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientBuilder.html#connectionsPerBroker-int-">connectionsPerBroker(int)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></dt>
+<dd>
+<div class="block">Sets the max number of connection that the client library will open to a single broker.</div>
+</dd>
 <dt><a href="org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Consumer</span></a> - Interface in <a href="org/apache/pulsar/client/api/package-summary.html">org.apache.pulsar.client.api</a></dt>
 <dd>
 <div class="block">An interface that abstracts behavior of Pulsar's consumer.</div>
 </dd>
+<dt><a href="org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">ConsumerBuilder</span></a> - Interface in <a href="org/apache/pulsar/client/api/package-summary.html">org.apache.pulsar.client.api</a></dt>
+<dd>
+<div class="block"><a href="org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api"><code>ConsumerBuilder</code></a> is used to configure and create instances of <a href="org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api"><code>Consumer</code></a>.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/PulsarClientException.ConsumerBusyException.html#ConsumerBusyException-java.lang.String-">ConsumerBusyException(String)</a></span> - Constructor for exception org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/PulsarClientException.ConsumerBusyException.html" title="class in org.apache.pulsar.client.api">PulsarClientException.ConsumerBusyException</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api"><span class="typeNameLink">ConsumerConfiguration</span></a> - Class in <a href="org/apache/pulsar/client/api/package-summary.html">org.apache.pulsar.client.api</a></dt>
 <dd>
-<div class="block">Class specifying the configuration of a consumer.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">Use <a href="org/apache/pulsar/client/api/PulsarClient.html#newConsumer--"><code>PulsarClient.newConsumer()</code></a> to build and configure a <a href="org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api"><code>Consumer</code></a> instance</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerConfiguration.html#ConsumerConfiguration--">ConsumerConfiguration()</a></span> - Constructor for class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><a href="org/apache/pulsar/client/api/ConsumerCryptoFailureAction.html" title="enum in org.apache.pulsar.client.api"><span class="typeNameLink">ConsumerCryptoFailureAction</span></a> - Enum in <a href="org/apache/pulsar/client/api/package-summary.html">org.apache.pulsar.client.api</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/pulsar/client/api/ConsumerEventListener.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">ConsumerEventListener</span></a> - Interface in <a href="org/apache/pulsar/client/api/package-summary.html">org.apache.pulsar.client.api</a></dt>
 <dd>
 <div class="block">Listener on the consumer state changes.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerBuilder.html#consumerName-java.lang.String-">consumerName(String)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a></dt>
+<dd>
+<div class="block">Set the consumer name.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/AuthenticationFactory.html#create-java.lang.String-java.lang.String-">create(String, String)</a></span> - Static method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/AuthenticationFactory.html" title="class in org.apache.pulsar.client.api">AuthenticationFactory</a></dt>
 <dd>
 <div class="block">Create an instance of the Authentication-Plugin</div>
@@ -254,45 +343,100 @@
 <dd>
 <div class="block">Create a new message builder instance.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerBuilder.html#create--">create()</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></dt>
+<dd>
+<div class="block">Finalize the creation of the <a href="org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api"><code>Producer</code></a> instance.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/PulsarClient.html#create-java.lang.String-">create(String)</a></span> - Static method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api">PulsarClient</a></dt>
 <dd>
-<div class="block">Create a new PulsarClient object using default client configuration</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">use <a href="org/apache/pulsar/client/api/PulsarClient.html#builder--"><code>PulsarClient.builder()</code></a> to construct a client instance</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/PulsarClient.html#create-java.lang.String-org.apache.pulsar.client.api.ClientConfiguration-">create(String, ClientConfiguration)</a></span> - Static method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api">PulsarClient</a></dt>
 <dd>
-<div class="block">Create a new PulsarClient object</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">use <a href="org/apache/pulsar/client/api/PulsarClient.html#builder--"><code>PulsarClient.builder()</code></a> to construct a client instance</span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ReaderBuilder.html#create--">create()</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api">ReaderBuilder</a></dt>
+<dd>
+<div class="block">Finalize the creation of the <a href="org/apache/pulsar/client/api/Reader.html" title="interface in org.apache.pulsar.client.api"><code>Reader</code></a> instance.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerBuilder.html#createAsync--">createAsync()</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></dt>
+<dd>
+<div class="block">Finalize the creation of the <a href="org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api"><code>Producer</code></a> instance in asynchronous mode.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ReaderBuilder.html#createAsync--">createAsync()</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api">ReaderBuilder</a></dt>
+<dd>
+<div class="block">Finalize the creation of the <a href="org/apache/pulsar/client/api/Reader.html" title="interface in org.apache.pulsar.client.api"><code>Reader</code></a> instance in asynchronous mode.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/PulsarClient.html#createProducer-java.lang.String-">createProducer(String)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api">PulsarClient</a></dt>
 <dd>
-<div class="block">Create a producer with default <a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api"><code>ProducerConfiguration</code></a> for publishing on a specific topic</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">use <a href="org/apache/pulsar/client/api/PulsarClient.html#newProducer--"><code>PulsarClient.newProducer()</code></a> to build a new producer</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/PulsarClient.html#createProducer-java.lang.String-org.apache.pulsar.client.api.ProducerConfiguration-">createProducer(String, ProducerConfiguration)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api">PulsarClient</a></dt>
 <dd>
-<div class="block">Create a producer with given <code>ProducerConfiguration</code> for publishing on a specific topic</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">use <a href="org/apache/pulsar/client/api/PulsarClient.html#newProducer--"><code>PulsarClient.newProducer()</code></a> to build a new producer</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/PulsarClient.html#createProducerAsync-java.lang.String-">createProducerAsync(String)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api">PulsarClient</a></dt>
 <dd>
-<div class="block">Asynchronously create a producer with default <a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api"><code>ProducerConfiguration</code></a> for publishing on a specific topic</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">use <a href="org/apache/pulsar/client/api/PulsarClient.html#newProducer--"><code>PulsarClient.newProducer()</code></a> to build a new producer</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/PulsarClient.html#createProducerAsync-java.lang.String-org.apache.pulsar.client.api.ProducerConfiguration-">createProducerAsync(String, ProducerConfiguration)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api">PulsarClient</a></dt>
 <dd>
-<div class="block">Asynchronously create a producer with given <code>ProducerConfiguration</code> for publishing on a specific topic</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">use <a href="org/apache/pulsar/client/api/PulsarClient.html#newProducer--"><code>PulsarClient.newProducer()</code></a> to build a new producer</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/PulsarClient.html#createReader-java.lang.String-org.apache.pulsar.client.api.MessageId-org.apache.pulsar.client.api.ReaderConfiguration-">createReader(String, MessageId, ReaderConfiguration)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api">PulsarClient</a></dt>
 <dd>
-<div class="block">Create a topic reader with given <code>ReaderConfiguration</code> for reading messages from the specified topic.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">Use <a href="org/apache/pulsar/client/api/PulsarClient.html#newReader--"><code>PulsarClient.newReader()</code></a> to build a new reader</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/PulsarClient.html#createReaderAsync-java.lang.String-org.apache.pulsar.client.api.MessageId-org.apache.pulsar.client.api.ReaderConfiguration-">createReaderAsync(String, MessageId, ReaderConfiguration)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api">PulsarClient</a></dt>
 <dd>
-<div class="block">Asynchronously create a topic reader with given <code>ReaderConfiguration</code> for reading messages from the
- specified topic.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">Use <a href="org/apache/pulsar/client/api/PulsarClient.html#newReader--"><code>PulsarClient.newReader()</code></a> to build a new reader</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/url/PulsarURLStreamHandlerFactory.html#createURLStreamHandler-java.lang.String-">createURLStreamHandler(String)</a></span> - Method in class org.apache.pulsar.client.api.url.<a href="org/apache/pulsar/client/api/url/PulsarURLStreamHandlerFactory.html" title="class in org.apache.pulsar.client.api.url">PulsarURLStreamHandlerFactory</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/PulsarClientException.CryptoException.html#CryptoException-java.lang.String-">CryptoException(String)</a></span> - Constructor for exception org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/PulsarClientException.CryptoException.html" title="class in org.apache.pulsar.client.api">PulsarClientException.CryptoException</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerBuilder.html#cryptoFailureAction-org.apache.pulsar.client.api.ConsumerCryptoFailureAction-">cryptoFailureAction(ConsumerCryptoFailureAction)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a></dt>
+<dd>
+<div class="block">Sets the ConsumerCryptoFailureAction to the value specified</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerBuilder.html#cryptoFailureAction-org.apache.pulsar.client.api.ProducerCryptoFailureAction-">cryptoFailureAction(ProducerCryptoFailureAction)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></dt>
+<dd>
+<div class="block">Sets the ProducerCryptoFailureAction to the value specified</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ReaderBuilder.html#cryptoFailureAction-org.apache.pulsar.client.api.ConsumerCryptoFailureAction-">cryptoFailureAction(ConsumerCryptoFailureAction)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api">ReaderBuilder</a></dt>
+<dd>
+<div class="block">Sets the ConsumerCryptoFailureAction to the value specified</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerBuilder.html#cryptoKeyReader-org.apache.pulsar.client.api.CryptoKeyReader-">cryptoKeyReader(CryptoKeyReader)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a></dt>
+<dd>
+<div class="block">Sets a <a href="org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api"><code>CryptoKeyReader</code></a></div>
+</dd>
 <dt><a href="org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">CryptoKeyReader</span></a> - Interface in <a href="org/apache/pulsar/client/api/package-summary.html">org.apache.pulsar.client.api</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerBuilder.html#cryptoKeyReader-org.apache.pulsar.client.api.CryptoKeyReader-">cryptoKeyReader(CryptoKeyReader)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></dt>
+<dd>
+<div class="block">Sets a <a href="org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api"><code>CryptoKeyReader</code></a></div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ReaderBuilder.html#cryptoKeyReader-org.apache.pulsar.client.api.CryptoKeyReader-">cryptoKeyReader(CryptoKeyReader)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api">ReaderBuilder</a></dt>
+<dd>
+<div class="block">Sets a <a href="org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api"><code>CryptoKeyReader</code></a></div>
+</dd>
 </dl>
 <a name="I:D">
 <!--   -->
@@ -315,6 +459,22 @@
 <dl>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/MessageId.html#earliest">earliest</a></span> - Static variable in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/MessageId.html" title="interface in org.apache.pulsar.client.api">MessageId</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerBuilder.html#enableBatching-boolean-">enableBatching(boolean)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></dt>
+<dd>
+<div class="block">Control whether automatic batching of messages is enabled for the producer.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientBuilder.html#enableTcpNoDelay-boolean-">enableTcpNoDelay(boolean)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></dt>
+<dd>
+<div class="block">Configure whether to use TCP no-delay flag on the connection, to disable Nagle algorithm.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientBuilder.html#enableTls-boolean-">enableTls(boolean)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></dt>
+<dd>
+<div class="block">Configure whether to use TLS encryption on the connection <i>(default: false)</i></div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientBuilder.html#enableTlsHostnameVerification-boolean-">enableTlsHostnameVerification(boolean)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></dt>
+<dd>
+<div class="block">It allows to validate hostname verification when client connects to broker over tls.</div>
+</dd>
 <dt><a href="org/apache/pulsar/client/api/EncodedAuthenticationParameterSupport.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">EncodedAuthenticationParameterSupport</span></a> - Interface in <a href="org/apache/pulsar/client/api/package-summary.html">org.apache.pulsar.client.api</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/pulsar/client/api/EncryptionKeyInfo.html" title="class in org.apache.pulsar.client.api"><span class="typeNameLink">EncryptionKeyInfo</span></a> - Class in <a href="org/apache/pulsar/client/api/package-summary.html">org.apache.pulsar.client.api</a></dt>
@@ -324,7 +484,9 @@
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/EncryptionKeyInfo.html#EncryptionKeyInfo-byte:A-java.util.Map-">EncryptionKeyInfo(byte[], Map&lt;String, String&gt;)</a></span> - Constructor for class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/EncryptionKeyInfo.html" title="class in org.apache.pulsar.client.api">EncryptionKeyInfo</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#equals-java.lang.Object-">equals(Object)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 </dl>
 <a name="I:F">
 <!--   -->
@@ -342,71 +504,112 @@
 <h2 class="title">G</h2>
 <dl>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerConfiguration.html#getAckTimeoutMillis--">getAckTimeoutMillis()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/Authentication.html#getAuthData--">getAuthData()</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/Authentication.html" title="interface in org.apache.pulsar.client.api">Authentication</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientConfiguration.html#getAuthentication--">getAuthentication()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api">ClientConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/Authentication.html#getAuthMethodName--">getAuthMethodName()</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/Authentication.html" title="interface in org.apache.pulsar.client.api">Authentication</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#getBatchingEnabled--">getBatchingEnabled()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#getBatchingMaxMessages--">getBatchingMaxMessages()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#getBatchingMaxPublishDelayMs--">getBatchingMaxPublishDelayMs()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#getBlockIfQueueFull--">getBlockIfQueueFull()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/AuthenticationDataProvider.html#getCommandData--">getCommandData()</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/AuthenticationDataProvider.html" title="interface in org.apache.pulsar.client.api">AuthenticationDataProvider</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#getCompressionType--">getCompressionType()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientConfiguration.html#getConcurrentLookupRequest--">getConcurrentLookupRequest()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api">ClientConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Get configured total allowed concurrent lookup-request.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientConfiguration.html#getConnectionsPerBroker--">getConnectionsPerBroker()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api">ClientConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerConfiguration.html#getConsumerEventListener--">getConsumerEventListener()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerConfiguration.html#getConsumerName--">getConsumerName()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/url/URL.html#getContent--">getContent()</a></span> - Method in class org.apache.pulsar.client.api.url.<a href="org/apache/pulsar/client/api/url/URL.html" title="class in org.apache.pulsar.client.api.url">URL</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/url/URL.html#getContent-java.lang.Class:A-">getContent(Class[])</a></span> - Method in class org.apache.pulsar.client.api.url.<a href="org/apache/pulsar/client/api/url/URL.html" title="class in org.apache.pulsar.client.api.url">URL</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerConfiguration.html#getCryptoFailureAction--">getCryptoFailureAction()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#getCryptoFailureAction--">getCryptoFailureAction()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ReaderConfiguration.html#getCryptoFailureAction--">getCryptoFailureAction()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ReaderConfiguration.html" title="class in org.apache.pulsar.client.api">ReaderConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerConfiguration.html#getCryptoKeyReader--">getCryptoKeyReader()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#getCryptoKeyReader--">getCryptoKeyReader()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ReaderConfiguration.html#getCryptoKeyReader--">getCryptoKeyReader()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ReaderConfiguration.html" title="class in org.apache.pulsar.client.api">ReaderConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/Message.html#getData--">getData()</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/Message.html" title="interface in org.apache.pulsar.client.api">Message</a></dt>
 <dd>
 <div class="block">Get the content of the message</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#getEncryptionKeys--">getEncryptionKeys()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/Message.html#getEventTime--">getEventTime()</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/Message.html" title="interface in org.apache.pulsar.client.api">Message</a></dt>
 <dd>
 <div class="block">Get the event time associated with this message.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#getHashingScheme--">getHashingScheme()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/AuthenticationDataProvider.html#getHttpAuthType--">getHttpAuthType()</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/AuthenticationDataProvider.html" title="interface in org.apache.pulsar.client.api">AuthenticationDataProvider</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/AuthenticationDataProvider.html#getHttpHeaders--">getHttpHeaders()</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/AuthenticationDataProvider.html" title="interface in org.apache.pulsar.client.api">AuthenticationDataProvider</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#getInitialSequenceId--">getInitialSequenceId()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientConfiguration.html#getIoThreads--">getIoThreads()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api">ClientConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/EncryptionKeyInfo.html#getKey--">getKey()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/EncryptionKeyInfo.html" title="class in org.apache.pulsar.client.api">EncryptionKeyInfo</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/Message.html#getKey--">getKey()</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/Message.html" title="interface in org.apache.pulsar.client.api">Message</a></dt>
@@ -418,44 +621,61 @@
 <div class="block">Get the last sequence id that was published by this producer.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientConfiguration.html#getListenerThreads--">getListenerThreads()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api">ClientConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientConfiguration.html#getMaxNumberOfRejectedRequestPerConnection--">getMaxNumberOfRejectedRequestPerConnection()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api">ClientConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Get configured max number of reject-request in a time-frame (30 seconds) after which connection will be closed</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#getMaxPendingMessages--">getMaxPendingMessages()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#getMaxPendingMessagesAcrossPartitions--">getMaxPendingMessagesAcrossPartitions()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerConfiguration.html#getMaxTotalReceiverQueueSizeAcrossPartitions--">getMaxTotalReceiverQueueSizeAcrossPartitions()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/Message.html#getMessageId--">getMessageId()</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/Message.html" title="interface in org.apache.pulsar.client.api">Message</a></dt>
 <dd>
 <div class="block">Get the unique message ID associated with this message.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerConfiguration.html#getMessageListener--">getMessageListener()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#getMessageRouter-int-">getMessageRouter(int)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
 <dd>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>
 <div class="block"><span class="deprecationComment">since 1.22.0-incubating. <tt>numPartitions</tt> is already passed as parameter in
- <a href="org/apache/pulsar/client/api/MessageRouter.html#choosePartition-org.apache.pulsar.client.api.Message-org.apache.pulsar.client.api.TopicMetadata-"><code>MessageRouter.choosePartition(Message, TopicMetadata)</code></a>.</span></div>
+             <a href="org/apache/pulsar/client/api/MessageRouter.html#choosePartition-org.apache.pulsar.client.api.Message-org.apache.pulsar.client.api.TopicMetadata-"><code>MessageRouter.choosePartition(Message, TopicMetadata)</code></a>.</span></div>
 </div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#getMessageRouter--">getMessageRouter()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Get the message router set by <a href="org/apache/pulsar/client/api/ProducerConfiguration.html#setMessageRouter-org.apache.pulsar.client.api.MessageRouter-"><code>ProducerConfiguration.setMessageRouter(MessageRouter)</code></a>.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#getMessageRoutingMode--">getMessageRoutingMode()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Get the message routing mode for the partitioned producer</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/EncryptionKeyInfo.html#getMetadata--">getMetadata()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/EncryptionKeyInfo.html" title="class in org.apache.pulsar.client.api">EncryptionKeyInfo</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientConfiguration.html#getOperationTimeoutMs--">getOperationTimeoutMs()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api">ClientConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerConfiguration.html#getPriorityLevel--">getPriorityLevel()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/CryptoKeyReader.html#getPrivateKey-java.lang.String-java.util.Map-">getPrivateKey(String, Map&lt;String, String&gt;)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api">CryptoKeyReader</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/Message.html#getProducerName--">getProducerName()</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/Message.html" title="interface in org.apache.pulsar.client.api">Message</a></dt>
@@ -465,37 +685,57 @@
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/Producer.html#getProducerName--">getProducerName()</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api">Producer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#getProducerName--">getProducerName()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerConfiguration.html#getProperties--">getProperties()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/Message.html#getProperties--">getProperties()</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/Message.html" title="interface in org.apache.pulsar.client.api">Message</a></dt>
 <dd>
 <div class="block">Return the properties attached to the message.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#getProperties--">getProperties()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/Message.html#getProperty-java.lang.String-">getProperty(String)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/Message.html" title="interface in org.apache.pulsar.client.api">Message</a></dt>
 <dd>
 <div class="block">Get the value of a specific property</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/CryptoKeyReader.html#getPublicKey-java.lang.String-java.util.Map-">getPublicKey(String, Map&lt;String, String&gt;)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api">CryptoKeyReader</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block">Return the encryption key corresponding to the key name in the argument</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/Message.html#getPublishTime--">getPublishTime()</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/Message.html" title="interface in org.apache.pulsar.client.api">Message</a></dt>
 <dd>
 <div class="block">Get the publish time of this message.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerConfiguration.html#getReadCompacted--">getReadCompacted()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ReaderConfiguration.html#getReaderListener--">getReaderListener()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ReaderConfiguration.html" title="class in org.apache.pulsar.client.api">ReaderConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ReaderConfiguration.html#getReaderName--">getReaderName()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ReaderConfiguration.html" title="class in org.apache.pulsar.client.api">ReaderConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerConfiguration.html#getReceiverQueueSize--">getReceiverQueueSize()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ReaderConfiguration.html#getReceiverQueueSize--">getReceiverQueueSize()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ReaderConfiguration.html" title="class in org.apache.pulsar.client.api">ReaderConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#getSendTimeoutMs--">getSendTimeoutMs()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/Message.html#getSequenceId--">getSequenceId()</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/Message.html" title="interface in org.apache.pulsar.client.api">Message</a></dt>
 <dd>
 <div class="block">Get the sequence id associated with this message.</div>
@@ -523,6 +763,7 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientConfiguration.html#getStatsIntervalSeconds--">getStatsIntervalSeconds()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api">ClientConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Stats will be activated with positive statsIntervalSeconds</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/Consumer.html#getSubscription--">getSubscription()</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api">Consumer</a></dt>
@@ -530,7 +771,9 @@
 <div class="block">Get a subscription for the consumer</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerConfiguration.html#getSubscriptionType--">getSubscriptionType()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/PulsarClientException.GettingAuthenticationDataException.html#GettingAuthenticationDataException-java.lang.Throwable-">GettingAuthenticationDataException(Throwable)</a></span> - Constructor for exception org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/PulsarClientException.GettingAuthenticationDataException.html" title="class in org.apache.pulsar.client.api">PulsarClientException.GettingAuthenticati [...]
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/PulsarClientException.GettingAuthenticationDataException.html#GettingAuthenticationDataException-java.lang.String-">GettingAuthenticationDataException(String)</a></span> - Constructor for exception org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/PulsarClientException.GettingAuthenticationDataException.html" title="class in org.apache.pulsar.client.api">PulsarClientException.GettingAuthenticationData [...]
@@ -540,7 +783,9 @@
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/AuthenticationDataProvider.html#getTlsPrivateKey--">getTlsPrivateKey()</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/AuthenticationDataProvider.html" title="interface in org.apache.pulsar.client.api">AuthenticationDataProvider</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientConfiguration.html#getTlsTrustCertsFilePath--">getTlsTrustCertsFilePath()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api">ClientConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/Consumer.html#getTopic--">getTopic()</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api">Consumer</a></dt>
 <dd>
 <div class="block">Get a topic for the consumer</div>
@@ -597,6 +842,10 @@
 </a>
 <h2 class="title">I</h2>
 <dl>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerBuilder.html#initialSequenceId-long-">initialSequenceId(long)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></dt>
+<dd>
+<div class="block">Set the baseline for the sequence ids for messages published by the producer.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/PulsarClientException.InvalidConfigurationException.html#InvalidConfigurationException-java.lang.String-">InvalidConfigurationException(String)</a></span> - Constructor for exception org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/PulsarClientException.InvalidConfigurationException.html" title="class in org.apache.pulsar.client.api">PulsarClientException.InvalidConfigurationException</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/PulsarClientException.InvalidConfigurationException.html#InvalidConfigurationException-java.lang.Throwable-">InvalidConfigurationException(Throwable)</a></span> - Constructor for exception org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/PulsarClientException.InvalidConfigurationException.html" title="class in org.apache.pulsar.client.api">PulsarClientException.InvalidConfigurationException</a></dt>
@@ -607,18 +856,31 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/PulsarClientException.InvalidTopicNameException.html#InvalidTopicNameException-java.lang.String-">InvalidTopicNameException(String)</a></span> - Constructor for exception org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/PulsarClientException.InvalidTopicNameException.html" title="class in org.apache.pulsar.client.api">PulsarClientException.InvalidTopicNameException</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientBuilder.html#ioThreads-int-">ioThreads(int)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></dt>
+<dd>
+<div class="block">Set the number of threads to be used for handling connections to brokers <i>(default: 1 thread)</i></div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#isEncryptionEnabled--">isEncryptionEnabled()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Returns true if encryption keys are added</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientConfiguration.html#isTlsAllowInsecureConnection--">isTlsAllowInsecureConnection()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api">ClientConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientConfiguration.html#isTlsHostnameVerificationEnable--">isTlsHostnameVerificationEnable()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api">ClientConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientConfiguration.html#isUseTcpNoDelay--">isUseTcpNoDelay()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api">ClientConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientConfiguration.html#isUseTls--">isUseTls()</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api">ClientConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 </dl>
 <a name="I:L">
 <!--   -->
@@ -627,6 +889,10 @@
 <dl>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/MessageId.html#latest">latest</a></span> - Static variable in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/MessageId.html" title="interface in org.apache.pulsar.client.api">MessageId</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientBuilder.html#listenerThreads-int-">listenerThreads(int)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></dt>
+<dd>
+<div class="block">Set the number of threads to be used for message listeners <i>(default: 1 thread)</i></div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/PulsarClientException.LookupException.html#LookupException-java.lang.String-">LookupException(String)</a></span> - Constructor for exception org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/PulsarClientException.LookupException.html" title="class in org.apache.pulsar.client.api">PulsarClientException.LookupException</a></dt>
 <dd>&nbsp;</dd>
 </dl>
@@ -635,6 +901,28 @@
 </a>
 <h2 class="title">M</h2>
 <dl>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientBuilder.html#maxConcurrentLookupRequests-int-">maxConcurrentLookupRequests(int)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></dt>
+<dd>
+<div class="block">Number of concurrent lookup-requests allowed on each broker-connection to prevent overload on broker.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientBuilder.html#maxNumberOfRejectedRequestPerConnection-int-">maxNumberOfRejectedRequestPerConnection(int)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></dt>
+<dd>
+<div class="block">Set max number of broker-rejected requests in a certain time-frame (30 seconds) after which current connection
+ will be closed and client creates a new connection that give chance to connect a different broker <i>(default:
+ 50)</i></div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerBuilder.html#maxPendingMessages-int-">maxPendingMessages(int)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></dt>
+<dd>
+<div class="block">Set the max size of the queue holding the messages pending to receive an acknowledgment from the broker.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerBuilder.html#maxPendingMessagesAcrossPartitions-int-">maxPendingMessagesAcrossPartitions(int)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></dt>
+<dd>
+<div class="block">Set the number of max pending messages across all the partitions</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerBuilder.html#maxTotalReceiverQueueSizeAcrossPartitions-int-">maxTotalReceiverQueueSizeAcrossPartitions(int)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a></dt>
+<dd>
+<div class="block">Set the max total receiver queue size across partitons.</div>
+</dd>
 <dt><a href="org/apache/pulsar/client/api/Message.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Message</span></a> - Interface in <a href="org/apache/pulsar/client/api/package-summary.html">org.apache.pulsar.client.api</a></dt>
 <dd>
 <div class="block">The message abstraction used in Pulsar.</div>
@@ -650,18 +938,44 @@
  The MessageId can be used to reference a specific message, for example when acknowledging, without having to retain
  the message content in memory for an extended period of time.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerBuilder.html#messageListener-org.apache.pulsar.client.api.MessageListener-">messageListener(MessageListener)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a></dt>
+<dd>
+<div class="block">Sets a <a href="org/apache/pulsar/client/api/MessageListener.html" title="interface in org.apache.pulsar.client.api"><code>MessageListener</code></a> for the consumer</div>
+</dd>
 <dt><a href="org/apache/pulsar/client/api/MessageListener.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">MessageListener</span></a> - Interface in <a href="org/apache/pulsar/client/api/package-summary.html">org.apache.pulsar.client.api</a></dt>
 <dd>
 <div class="block">A listener that will be called in order for every message received.</div>
 </dd>
 <dt><a href="org/apache/pulsar/client/api/MessageRouter.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">MessageRouter</span></a> - Interface in <a href="org/apache/pulsar/client/api/package-summary.html">org.apache.pulsar.client.api</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerBuilder.html#messageRouter-org.apache.pulsar.client.api.MessageRouter-">messageRouter(MessageRouter)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></dt>
+<dd>
+<div class="block">Set a custom message routing policy by passing an implementation of MessageRouter</div>
+</dd>
+<dt><a href="org/apache/pulsar/client/api/MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api"><span class="typeNameLink">MessageRoutingMode</span></a> - Enum in <a href="org/apache/pulsar/client/api/package-summary.html">org.apache.pulsar.client.api</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerBuilder.html#messageRoutingMode-org.apache.pulsar.client.api.MessageRoutingMode-">messageRoutingMode(MessageRoutingMode)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></dt>
+<dd>
+<div class="block">Set the message routing mode for the partitioned producer</div>
+</dd>
 </dl>
 <a name="I:N">
 <!--   -->
 </a>
 <h2 class="title">N</h2>
 <dl>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/PulsarClient.html#newConsumer--">newConsumer()</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api">PulsarClient</a></dt>
+<dd>
+<div class="block">Create a producer with default for publishing on a specific topic</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/PulsarClient.html#newProducer--">newProducer()</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api">PulsarClient</a></dt>
+<dd>
+<div class="block">Create a producer with default for publishing on a specific topic</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/PulsarClient.html#newReader--">newReader()</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api">PulsarClient</a></dt>
+<dd>
+<div class="block">Create a topic reader for reading messages from the specified topic.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/PulsarClientException.NotConnectedException.html#NotConnectedException--">NotConnectedException()</a></span> - Constructor for exception org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/PulsarClientException.NotConnectedException.html" title="class in org.apache.pulsar.client.api">PulsarClientException.NotConnectedException</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/PulsarClientException.NotSupportedException.html#NotSupportedException-java.lang.String-">NotSupportedException(String)</a></span> - Constructor for exception org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/PulsarClientException.NotSupportedException.html" title="class in org.apache.pulsar.client.api">PulsarClientException.NotSupportedException</a></dt>
@@ -680,6 +994,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/url/URL.html#openConnection--">openConnection()</a></span> - Method in class org.apache.pulsar.client.api.url.<a href="org/apache/pulsar/client/api/url/URL.html" title="class in org.apache.pulsar.client.api.url">URL</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientBuilder.html#operationTimeout-int-java.util.concurrent.TimeUnit-">operationTimeout(int, TimeUnit)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></dt>
+<dd>
+<div class="block">Set the operation timeout <i>(default: 30 seconds)</i></div>
+</dd>
 <dt><a href="org/apache/pulsar/client/api/package-summary.html">org.apache.pulsar.client.api</a> - package org.apache.pulsar.client.api</dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/pulsar/client/api/url/package-summary.html">org.apache.pulsar.client.api.url</a> - package org.apache.pulsar.client.api.url</dt>
@@ -690,6 +1008,11 @@
 </a>
 <h2 class="title">P</h2>
 <dl>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerBuilder.html#priorityLevel-int-">priorityLevel(int)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a></dt>
+<dd>
+<div class="block">Sets priority level for the shared subscription consumers to which broker gives more priority while dispatching
+ messages.</div>
+</dd>
 <dt><a href="org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Producer</span></a> - Interface in <a href="org/apache/pulsar/client/api/package-summary.html">org.apache.pulsar.client.api</a></dt>
 <dd>
 <div class="block">Producer object.</div>
@@ -698,25 +1021,57 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/PulsarClientException.ProducerBlockedQuotaExceededException.html#ProducerBlockedQuotaExceededException-java.lang.String-">ProducerBlockedQuotaExceededException(String)</a></span> - Constructor for exception org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/PulsarClientException.ProducerBlockedQuotaExceededException.html" title="class in org.apache.pulsar.client.api">PulsarClientException.ProducerBlock [...]
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">ProducerBuilder</span></a> - Interface in <a href="org/apache/pulsar/client/api/package-summary.html">org.apache.pulsar.client.api</a></dt>
+<dd>
+<div class="block"><a href="org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api"><code>ProducerBuilder</code></a> is used to configure and create instances of <a href="org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api"><code>Producer</code></a>.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/PulsarClientException.ProducerBusyException.html#ProducerBusyException-java.lang.String-">ProducerBusyException(String)</a></span> - Constructor for exception org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/PulsarClientException.ProducerBusyException.html" title="class in org.apache.pulsar.client.api">PulsarClientException.ProducerBusyException</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api"><span class="typeNameLink">ProducerConfiguration</span></a> - Class in <a href="org/apache/pulsar/client/api/package-summary.html">org.apache.pulsar.client.api</a></dt>
 <dd>
-<div class="block">Producer's configuration</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">use <a href="org/apache/pulsar/client/api/PulsarClient.html#newProducer--"><code>PulsarClient.newProducer()</code></a> to construct and configure a <a href="org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api"><code>Producer</code></a> instance</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#ProducerConfiguration--">ProducerConfiguration()</a></span> - Constructor for class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><a href="org/apache/pulsar/client/api/ProducerConfiguration.HashingScheme.html" title="enum in org.apache.pulsar.client.api"><span class="typeNameLink">ProducerConfiguration.HashingScheme</span></a> - Enum in <a href="org/apache/pulsar/client/api/package-summary.html">org.apache.pulsar.client.api</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><a href="org/apache/pulsar/client/api/ProducerConfiguration.MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api"><span class="typeNameLink">ProducerConfiguration.MessageRoutingMode</span></a> - Enum in <a href="org/apache/pulsar/client/api/package-summary.html">org.apache.pulsar.client.api</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><a href="org/apache/pulsar/client/api/ProducerCryptoFailureAction.html" title="enum in org.apache.pulsar.client.api"><span class="typeNameLink">ProducerCryptoFailureAction</span></a> - Enum in <a href="org/apache/pulsar/client/api/package-summary.html">org.apache.pulsar.client.api</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerBuilder.html#producerName-java.lang.String-">producerName(String)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></dt>
+<dd>
+<div class="block">Specify a name for the producer</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/PulsarClientException.ProducerQueueIsFullError.html#ProducerQueueIsFullError-java.lang.String-">ProducerQueueIsFullError(String)</a></span> - Constructor for exception org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/PulsarClientException.ProducerQueueIsFullError.html" title="class in org.apache.pulsar.client.api">PulsarClientException.ProducerQueueIsFullError</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerBuilder.html#properties-java.util.Map-">properties(Map&lt;String, String&gt;)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a></dt>
+<dd>
+<div class="block">Add all the properties in the provided map</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerBuilder.html#properties-java.util.Map-">properties(Map&lt;String, String&gt;)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></dt>
+<dd>
+<div class="block">Add all the properties in the provided map</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerBuilder.html#property-java.lang.String-java.lang.String-">property(String, String)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a></dt>
+<dd>
+<div class="block">Set a name/value property with this consumer.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerBuilder.html#property-java.lang.String-java.lang.String-">property(String, String)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></dt>
+<dd>
+<div class="block">Set a name/value property with this producer.</div>
+</dd>
 <dt><a href="org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">PulsarClient</span></a> - Interface in <a href="org/apache/pulsar/client/api/package-summary.html">org.apache.pulsar.client.api</a></dt>
 <dd>
-<div class="block">Class that provides a client interface to Pulsar</div>
+<div class="block">Class that provides a client interface to Pulsar.</div>
 </dd>
 <dt><a href="org/apache/pulsar/client/api/PulsarClientException.html" title="class in org.apache.pulsar.client.api"><span class="typeNameLink">PulsarClientException</span></a> - Exception in <a href="org/apache/pulsar/client/api/package-summary.html">org.apache.pulsar.client.api</a></dt>
 <dd>
@@ -794,18 +1149,41 @@
 <dd>
 <div class="block">Get the notification when a topic is terminated</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerBuilder.html#readCompacted-boolean-">readCompacted(boolean)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a></dt>
+<dd>
+<div class="block">If enabled, the consumer will read messages from the compacted topic rather than reading the full message backlog
+ of the topic.</div>
+</dd>
 <dt><a href="org/apache/pulsar/client/api/Reader.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Reader</span></a> - Interface in <a href="org/apache/pulsar/client/api/package-summary.html">org.apache.pulsar.client.api</a></dt>
 <dd>
 <div class="block">A Reader can be used to scan through all the messages currently available in a topic.</div>
 </dd>
+<dt><a href="org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">ReaderBuilder</span></a> - Interface in <a href="org/apache/pulsar/client/api/package-summary.html">org.apache.pulsar.client.api</a></dt>
+<dd>
+<div class="block"><a href="org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api"><code>ReaderBuilder</code></a> is used to configure and create instances of <a href="org/apache/pulsar/client/api/Reader.html" title="interface in org.apache.pulsar.client.api"><code>Reader</code></a>.</div>
+</dd>
 <dt><a href="org/apache/pulsar/client/api/ReaderConfiguration.html" title="class in org.apache.pulsar.client.api"><span class="typeNameLink">ReaderConfiguration</span></a> - Class in <a href="org/apache/pulsar/client/api/package-summary.html">org.apache.pulsar.client.api</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">Use <a href="org/apache/pulsar/client/api/PulsarClient.html#newReader--"><code>PulsarClient.newReader()</code></a> to construct and configure a <a href="org/apache/pulsar/client/api/Reader.html" title="interface in org.apache.pulsar.client.api"><code>Reader</code></a> instance</span></div>
+</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ReaderConfiguration.html#ReaderConfiguration--">ReaderConfiguration()</a></span> - Constructor for class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ReaderConfiguration.html" title="class in org.apache.pulsar.client.api">ReaderConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ReaderBuilder.html#readerListener-org.apache.pulsar.client.api.ReaderListener-">readerListener(ReaderListener)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api">ReaderBuilder</a></dt>
+<dd>
+<div class="block">Sets a <a href="org/apache/pulsar/client/api/ReaderListener.html" title="interface in org.apache.pulsar.client.api"><code>ReaderListener</code></a> for the reader</div>
+</dd>
 <dt><a href="org/apache/pulsar/client/api/ReaderListener.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">ReaderListener</span></a> - Interface in <a href="org/apache/pulsar/client/api/package-summary.html">org.apache.pulsar.client.api</a></dt>
 <dd>
 <div class="block">A listener that will be called in order for every message received.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ReaderBuilder.html#readerName-java.lang.String-">readerName(String)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api">ReaderBuilder</a></dt>
+<dd>
+<div class="block">Set the reader name.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/Reader.html#readNext--">readNext()</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/Reader.html" title="interface in org.apache.pulsar.client.api">Reader</a></dt>
 <dd>
 <div class="block">Read the next message in the topic</div>
@@ -836,12 +1214,22 @@
 <dd>
 <div class="block">This method is called whenever a new message is received.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerBuilder.html#receiverQueueSize-int-">receiverQueueSize(int)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a></dt>
+<dd>
+<div class="block">Sets the size of the consumer receive queue.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ReaderBuilder.html#receiverQueueSize-int-">receiverQueueSize(int)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api">ReaderBuilder</a></dt>
+<dd>
+<div class="block">Sets the size of the consumer receive queue.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/Consumer.html#redeliverUnacknowledgedMessages--">redeliverUnacknowledgedMessages()</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api">Consumer</a></dt>
 <dd>
 <div class="block">Redelivers all the unacknowledged messages.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#removeEncryptionKey-java.lang.String-">removeEncryptionKey(String)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 </dl>
 <a name="I:S">
 <!--   -->
@@ -872,58 +1260,79 @@
 <dd>
 <div class="block">Send a message asynchronously</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerBuilder.html#sendTimeout-int-java.util.concurrent.TimeUnit-">sendTimeout(int, TimeUnit)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></dt>
+<dd>
+<div class="block">Set the send timeout <i>(default: 30 seconds)</i></div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientBuilder.html#serviceUrl-java.lang.String-">serviceUrl(String)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></dt>
+<dd>
+<div class="block">Configure the service URL for the Pulsar service.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerConfiguration.html#setAckTimeout-long-java.util.concurrent.TimeUnit-">setAckTimeout(long, TimeUnit)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Set the timeout for unacked messages, truncated to the nearest millisecond.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientConfiguration.html#setAuthentication-org.apache.pulsar.client.api.Authentication-">setAuthentication(Authentication)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api">ClientConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Set the authentication provider to use in the Pulsar client instance.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientConfiguration.html#setAuthentication-java.lang.String-java.lang.String-">setAuthentication(String, String)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api">ClientConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Set the authentication provider to use in the Pulsar client instance.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientConfiguration.html#setAuthentication-java.lang.String-java.util.Map-">setAuthentication(String, Map&lt;String, String&gt;)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api">ClientConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Set the authentication provider to use in the Pulsar client instance.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#setBatchingEnabled-boolean-">setBatchingEnabled(boolean)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Control whether automatic batching of messages is enabled for the producer.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#setBatchingMaxMessages-int-">setBatchingMaxMessages(int)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Set the maximum number of messages permitted in a batch.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#setBatchingMaxPublishDelay-long-java.util.concurrent.TimeUnit-">setBatchingMaxPublishDelay(long, TimeUnit)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Set the time period within which the messages sent will be batched <i>default: 10ms</i> if batch messages are
  enabled.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#setBlockIfQueueFull-boolean-">setBlockIfQueueFull(boolean)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Set whether the <a href="org/apache/pulsar/client/api/Producer.html#send-byte:A-"><code>Producer.send(byte[])</code></a> and <a href="org/apache/pulsar/client/api/Producer.html#sendAsync-byte:A-"><code>Producer.sendAsync(byte[])</code></a> operations should block when the outgoing
  message queue is full.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#setCompressionType-org.apache.pulsar.client.api.CompressionType-">setCompressionType(CompressionType)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Set the compression type for the producer.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientConfiguration.html#setConcurrentLookupRequest-int-">setConcurrentLookupRequest(int)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api">ClientConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Number of concurrent lookup-requests allowed on each broker-connection to prevent overload on broker.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientConfiguration.html#setConnectionsPerBroker-int-">setConnectionsPerBroker(int)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api">ClientConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Sets the max number of connection that the client library will open to a single broker.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerConfiguration.html#setConsumerEventListener-org.apache.pulsar.client.api.ConsumerEventListener-">setConsumerEventListener(ConsumerEventListener)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Sets a <a href="org/apache/pulsar/client/api/ConsumerEventListener.html" title="interface in org.apache.pulsar.client.api"><code>ConsumerEventListener</code></a> for the consumer.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerConfiguration.html#setConsumerName-java.lang.String-">setConsumerName(String)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Set the consumer name.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/MessageBuilder.html#setContent-byte:A-">setContent(byte[])</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/MessageBuilder.html" title="interface in org.apache.pulsar.client.api">MessageBuilder</a></dt>
@@ -940,26 +1349,32 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerConfiguration.html#setCryptoFailureAction-org.apache.pulsar.client.api.ConsumerCryptoFailureAction-">setCryptoFailureAction(ConsumerCryptoFailureAction)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Sets the ConsumerCryptoFailureAction to the value specified</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#setCryptoFailureAction-org.apache.pulsar.client.api.ProducerCryptoFailureAction-">setCryptoFailureAction(ProducerCryptoFailureAction)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Sets the ProducerCryptoFailureAction to the value specified</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ReaderConfiguration.html#setCryptoFailureAction-org.apache.pulsar.client.api.ConsumerCryptoFailureAction-">setCryptoFailureAction(ConsumerCryptoFailureAction)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ReaderConfiguration.html" title="class in org.apache.pulsar.client.api">ReaderConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Sets the ConsumerCryptoFailureAction to the value specified</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerConfiguration.html#setCryptoKeyReader-org.apache.pulsar.client.api.CryptoKeyReader-">setCryptoKeyReader(CryptoKeyReader)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Sets a <a href="org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api"><code>CryptoKeyReader</code></a></div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#setCryptoKeyReader-org.apache.pulsar.client.api.CryptoKeyReader-">setCryptoKeyReader(CryptoKeyReader)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Sets a <a href="org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api"><code>CryptoKeyReader</code></a></div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ReaderConfiguration.html#setCryptoKeyReader-org.apache.pulsar.client.api.CryptoKeyReader-">setCryptoKeyReader(CryptoKeyReader)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ReaderConfiguration.html" title="class in org.apache.pulsar.client.api">ReaderConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Sets a <a href="org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api"><code>CryptoKeyReader</code></a></div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/MessageBuilder.html#setEventTime-long-">setEventTime(long)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/MessageBuilder.html" title="interface in org.apache.pulsar.client.api">MessageBuilder</a></dt>
@@ -967,13 +1382,17 @@
 <div class="block">Set the event time for a given message.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#setHashingScheme-org.apache.pulsar.client.api.ProducerConfiguration.HashingScheme-">setHashingScheme(ProducerConfiguration.HashingScheme)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
-<dd>&nbsp;</dd>
+<dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
+&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#setInitialSequenceId-long-">setInitialSequenceId(long)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Set the baseline for the sequence ids for messages published by the producer.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientConfiguration.html#setIoThreads-int-">setIoThreads(int)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api">ClientConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Set the number of threads to be used for handling connections to brokers <i>(default: 1 thread)</i></div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/EncryptionKeyInfo.html#setKey-byte:A-">setKey(byte[])</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/EncryptionKeyInfo.html" title="class in org.apache.pulsar.client.api">EncryptionKeyInfo</a></dt>
@@ -984,55 +1403,67 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientConfiguration.html#setListenerThreads-int-">setListenerThreads(int)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api">ClientConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Set the number of threads to be used for message listeners <i>(default: 1 thread)</i></div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientConfiguration.html#setMaxNumberOfRejectedRequestPerConnection-int-">setMaxNumberOfRejectedRequestPerConnection(int)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api">ClientConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Set max number of broker-rejected requests in a certain time-frame (30 seconds) after which current connection
  will be closed and client creates a new connection that give chance to connect a different broker <i>(default:
  50)</i></div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#setMaxPendingMessages-int-">setMaxPendingMessages(int)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Set the max size of the queue holding the messages pending to receive an acknowledgment from the broker.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#setMaxPendingMessagesAcrossPartitions-int-">setMaxPendingMessagesAcrossPartitions(int)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Set the number of max pending messages across all the partitions</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerConfiguration.html#setMaxTotalReceiverQueueSizeAcrossPartitions-int-">setMaxTotalReceiverQueueSizeAcrossPartitions(int)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Set the max total receiver queue size across partitons.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerConfiguration.html#setMessageListener-org.apache.pulsar.client.api.MessageListener-">setMessageListener(MessageListener)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Sets a <a href="org/apache/pulsar/client/api/MessageListener.html" title="interface in org.apache.pulsar.client.api"><code>MessageListener</code></a> for the consumer</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#setMessageRouter-org.apache.pulsar.client.api.MessageRouter-">setMessageRouter(MessageRouter)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Set a custom message routing policy by passing an implementation of MessageRouter</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#setMessageRoutingMode-org.apache.pulsar.client.api.ProducerConfiguration.MessageRoutingMode-">setMessageRoutingMode(ProducerConfiguration.MessageRoutingMode)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Set the message routing mode for the partitioned producer</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/EncryptionKeyInfo.html#setMetadata-java.util.Map-">setMetadata(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/EncryptionKeyInfo.html" title="class in org.apache.pulsar.client.api">EncryptionKeyInfo</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientConfiguration.html#setOperationTimeout-int-java.util.concurrent.TimeUnit-">setOperationTimeout(int, TimeUnit)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api">ClientConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Set the operation timeout <i>(default: 30 seconds)</i></div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">setPriorityLevel(int)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Sets priority level for the shared subscription consumers to which broker gives more priority while dispatching
  messages.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#setProducerName-java.lang.String-">setProducerName(String)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Specify a name for the producer</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerConfiguration.html#setProperties-java.util.Map-">setProperties(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Add all the properties in the provided map</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/MessageBuilder.html#setProperties-java.util.Map-">setProperties(Map&lt;String, String&gt;)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/MessageBuilder.html" title="interface in org.apache.pulsar.client.api">MessageBuilder</a></dt>
@@ -1041,10 +1472,12 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#setProperties-java.util.Map-">setProperties(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Add all the properties in the provided map</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerConfiguration.html#setProperty-java.lang.String-java.lang.String-">setProperty(String, String)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Set a name/value property with this consumer.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/MessageBuilder.html#setProperty-java.lang.String-java.lang.String-">setProperty(String, String)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/MessageBuilder.html" title="interface in org.apache.pulsar.client.api">MessageBuilder</a></dt>
@@ -1053,27 +1486,33 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#setProperty-java.lang.String-java.lang.String-">setProperty(String, String)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Set a name/value property with this producer.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerConfiguration.html#setReadCompacted-boolean-">setReadCompacted(boolean)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">If enabled, the consumer will read messages from the compacted topic rather than reading the full message
  backlog of the topic.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ReaderConfiguration.html#setReaderListener-org.apache.pulsar.client.api.ReaderListener-">setReaderListener(ReaderListener)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ReaderConfiguration.html" title="class in org.apache.pulsar.client.api">ReaderConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Sets a <a href="org/apache/pulsar/client/api/ReaderListener.html" title="interface in org.apache.pulsar.client.api"><code>ReaderListener</code></a> for the reader</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ReaderConfiguration.html#setReaderName-java.lang.String-">setReaderName(String)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ReaderConfiguration.html" title="class in org.apache.pulsar.client.api">ReaderConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Set the consumer name.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerConfiguration.html#setReceiverQueueSize-int-">setReceiverQueueSize(int)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Sets the size of the consumer receive queue.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ReaderConfiguration.html#setReceiverQueueSize-int-">setReceiverQueueSize(int)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ReaderConfiguration.html" title="class in org.apache.pulsar.client.api">ReaderConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Sets the size of the consumer receive queue.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/MessageBuilder.html#setReplicationClusters-java.util.List-">setReplicationClusters(List&lt;String&gt;)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/MessageBuilder.html" title="interface in org.apache.pulsar.client.api">MessageBuilder</a></dt>
@@ -1082,6 +1521,7 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.html#setSendTimeout-int-java.util.concurrent.TimeUnit-">setSendTimeout(int, TimeUnit)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Set the send timeout <i>(default: 30 seconds)</i></div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/MessageBuilder.html#setSequenceId-long-">setSequenceId(long)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/MessageBuilder.html" title="interface in org.apache.pulsar.client.api">MessageBuilder</a></dt>
@@ -1090,31 +1530,38 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientConfiguration.html#setStatsInterval-long-java.util.concurrent.TimeUnit-">setStatsInterval(long, TimeUnit)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api">ClientConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Set the interval between each stat info <i>(default: 60 seconds)</i> Stats will be activated with positive
  statsIntervalSeconds It should be set to at least 1 second</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerConfiguration.html#setSubscriptionType-org.apache.pulsar.client.api.SubscriptionType-">setSubscriptionType(SubscriptionType)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Select the subscription type to be used when subscribing to the topic.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientConfiguration.html#setTlsAllowInsecureConnection-boolean-">setTlsAllowInsecureConnection(boolean)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api">ClientConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Configure whether the Pulsar client accept untrusted TLS certificate from broker <i>(default: false)</i></div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientConfiguration.html#setTlsHostnameVerificationEnable-boolean-">setTlsHostnameVerificationEnable(boolean)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api">ClientConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">It allows to validate hostname verification when client connects to broker over tls.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientConfiguration.html#setTlsTrustCertsFilePath-java.lang.String-">setTlsTrustCertsFilePath(String)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api">ClientConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Set the path to the trusted TLS certificate file</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientConfiguration.html#setUseTcpNoDelay-boolean-">setUseTcpNoDelay(boolean)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api">ClientConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Configure whether to use TCP no-delay flag on the connection, to disable Nagle algorithm.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientConfiguration.html#setUseTls-boolean-">setUseTls(boolean)</a></span> - Method in class org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api">ClientConfiguration</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Configure whether to use TLS encryption on the connection <i>(default: false)</i></div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/PulsarClient.html#shutdown--">shutdown()</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api">PulsarClient</a></dt>
@@ -1125,23 +1572,54 @@
 <dd>
 <div class="block">Initialize the authentication provider</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ReaderBuilder.html#startMessageId-org.apache.pulsar.client.api.MessageId-">startMessageId(MessageId)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api">ReaderBuilder</a></dt>
+<dd>
+<div class="block">The initial reader positioning is done by specifying a message id.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientBuilder.html#statsInterval-long-java.util.concurrent.TimeUnit-">statsInterval(long, TimeUnit)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></dt>
+<dd>
+<div class="block">Set the interval between each stat info <i>(default: 60 seconds)</i> Stats will be activated with positive
+ statsIntervalSeconds It should be set to at least 1 second</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerBuilder.html#subscribe--">subscribe()</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a></dt>
+<dd>
+<div class="block">Finalize the <a href="org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api"><code>Consumer</code></a> creation by subscribing to the topic.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/PulsarClient.html#subscribe-java.lang.String-java.lang.String-">subscribe(String, String)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api">PulsarClient</a></dt>
 <dd>
-<div class="block">Subscribe to the given topic and subscription combination with default <code>ConsumerConfiguration</code></div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">Use <a href="org/apache/pulsar/client/api/PulsarClient.html#newConsumer--"><code>PulsarClient.newConsumer()</code></a> to build a new consumer</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/PulsarClient.html#subscribe-java.lang.String-java.lang.String-org.apache.pulsar.client.api.ConsumerConfiguration-">subscribe(String, String, ConsumerConfiguration)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api">PulsarClient</a></dt>
 <dd>
-<div class="block">Subscribe to the given topic and subscription combination with given <code>ConsumerConfiguration</code></div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">Use <a href="org/apache/pulsar/client/api/PulsarClient.html#newConsumer--"><code>PulsarClient.newConsumer()</code></a> to build a new consumer</span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerBuilder.html#subscribeAsync--">subscribeAsync()</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a></dt>
+<dd>
+<div class="block">Finalize the <a href="org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api"><code>Consumer</code></a> creation by subscribing to the topic in asynchronous mode.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/PulsarClient.html#subscribeAsync-java.lang.String-java.lang.String-">subscribeAsync(String, String)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api">PulsarClient</a></dt>
 <dd>
-<div class="block">Asynchronously subscribe to the given topic and subscription combination using default
- <code>ConsumerConfiguration</code></div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">Use <a href="org/apache/pulsar/client/api/PulsarClient.html#newConsumer--"><code>PulsarClient.newConsumer()</code></a> to build a new consumer</span></div>
+</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/PulsarClient.html#subscribeAsync-java.lang.String-java.lang.String-org.apache.pulsar.client.api.ConsumerConfiguration-">subscribeAsync(String, String, ConsumerConfiguration)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api">PulsarClient</a></dt>
 <dd>
-<div class="block">Asynchronously subscribe to the given topic and subscription combination using given
- <code>ConsumerConfiguration</code></div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>
+<div class="block"><span class="deprecationComment">Use <a href="org/apache/pulsar/client/api/PulsarClient.html#newConsumer--"><code>PulsarClient.newConsumer()</code></a> to build a new consumer</span></div>
+</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerBuilder.html#subscriptionName-java.lang.String-">subscriptionName(String)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a></dt>
+<dd>
+<div class="block">Specify the subscription name for this consumer.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerBuilder.html#subscriptionType-org.apache.pulsar.client.api.SubscriptionType-">subscriptionType(SubscriptionType)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a></dt>
+<dd>
+<div class="block">Select the subscription type to be used when subscribing to the topic.</div>
 </dd>
 <dt><a href="org/apache/pulsar/client/api/SubscriptionType.html" title="enum in org.apache.pulsar.client.api"><span class="typeNameLink">SubscriptionType</span></a> - Enum in <a href="org/apache/pulsar/client/api/package-summary.html">org.apache.pulsar.client.api</a></dt>
 <dd>
@@ -1155,12 +1633,28 @@
 <dl>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/PulsarClientException.TimeoutException.html#TimeoutException-java.lang.String-">TimeoutException(String)</a></span> - Constructor for exception org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/PulsarClientException.TimeoutException.html" title="class in org.apache.pulsar.client.api">PulsarClientException.TimeoutException</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ClientBuilder.html#tlsTrustCertsFilePath-java.lang.String-">tlsTrustCertsFilePath(String)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></dt>
+<dd>
+<div class="block">Set the path to the trusted TLS certificate file</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/MessageId.html#toByteArray--">toByteArray()</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/MessageId.html" title="interface in org.apache.pulsar.client.api">MessageId</a></dt>
 <dd>
 <div class="block">Serialize the message ID into a byte array</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/PulsarClientException.TooManyRequestsException.html#TooManyRequestsException-java.lang.String-">TooManyRequestsException(String)</a></span> - Constructor for exception org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/PulsarClientException.TooManyRequestsException.html" title="class in org.apache.pulsar.client.api">PulsarClientException.TooManyRequestsException</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ConsumerBuilder.html#topic-java.lang.String-">topic(String)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a></dt>
+<dd>
+<div class="block">Specify the topic this consumer will subscribe on.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerBuilder.html#topic-java.lang.String-">topic(String)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></dt>
+<dd>
+<div class="block">Specify the topic this producer will be publishing on.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ReaderBuilder.html#topic-java.lang.String-">topic(String)</a></span> - Method in interface org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api">ReaderBuilder</a></dt>
+<dd>
+<div class="block">Specify the topic this consumer will subscribe on.</div>
+</dd>
 <dt><a href="org/apache/pulsar/client/api/TopicMetadata.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">TopicMetadata</span></a> - Interface in <a href="org/apache/pulsar/client/api/package-summary.html">org.apache.pulsar.client.api</a></dt>
 <dd>
 <div class="block">Metadata of a topic that can be used for message routing.</div>
@@ -1203,12 +1697,18 @@
 <dd>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/MessageRoutingMode.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api">MessageRoutingMode</a></dt>
+<dd>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.HashingScheme.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.HashingScheme.html" title="enum in org.apache.pulsar.client.api">ProducerConfiguration.HashingScheme</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.MessageRoutingMode.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api">ProducerConfiguration.MessageRoutingMode</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Returns the enum constant of this type with the specified name.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerCryptoFailureAction.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerCryptoFailureAction.html" title="enum in org.apache.pulsar.client.api">ProducerCryptoFailureAction</a></dt>
@@ -1229,13 +1729,20 @@ the order they are declared.</div>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/MessageRoutingMode.html#values--">values()</a></span> - Static method in enum org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api">MessageRoutingMode</a></dt>
+<dd>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.HashingScheme.html#values--">values()</a></span> - Static method in enum org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.HashingScheme.html" title="enum in org.apache.pulsar.client.api">ProducerConfiguration.HashingScheme</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/pulsar/client/api/ProducerConfiguration.MessageRoutingMode.html#values--">values()</a></span> - Static method in enum org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api">ProducerConfiguration.MessageRoutingMode</a></dt>
 <dd>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span></div>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.</div>
 </dd>
diff --git a/content/api/client/org/apache/pulsar/client/api/AuthenticationUtil.html b/content/api/client/org/apache/pulsar/client/api/AuthenticationUtil.html
index 680240c..9a2c71b 100644
--- a/content/api/client/org/apache/pulsar/client/api/AuthenticationUtil.html
+++ b/content/api/client/org/apache/pulsar/client/api/AuthenticationUtil.html
@@ -48,7 +48,7 @@ var activeTableTab = "activeTableTab";
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/pulsar/client/api/AuthenticationFactory.html" title="class in org.apache.pulsar.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/pulsar/client/api/AuthenticationUtil.html" target="_top">Frames</a></li>
@@ -242,7 +242,7 @@ extends Object</pre>
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/pulsar/client/api/AuthenticationFactory.html" title="class in org.apache.pulsar.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/pulsar/client/api/AuthenticationUtil.html" target="_top">Frames</a></li>
diff --git a/content/api/client/org/apache/pulsar/client/api/ClientBuilder.html b/content/api/client/org/apache/pulsar/client/api/ClientBuilder.html
new file mode 100644
index 0000000..e491bb8
--- /dev/null
+++ b/content/api/client/org/apache/pulsar/client/api/ClientBuilder.html
@@ -0,0 +1,682 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>ClientBuilder (Pulsar Client Java API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ClientBuilder (Pulsar Client Java API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/pulsar/client/api/AuthenticationUtil.html" title="class in org.apache.pulsar.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/pulsar/client/api/ClientBuilder.html" target="_top">Frames</a></li>
+<li><a href="ClientBuilder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.pulsar.client.api</div>
+<h2 title="Interface ClientBuilder" class="title">Interface ClientBuilder</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd>Cloneable, Serializable</dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">ClientBuilder</span>
+extends Serializable, Cloneable</pre>
+<div class="block">Builder interface that is used to construct a <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api"><code>PulsarClient</code></a> instance.</div>
+<dl>
+<dt><span class="simpleTagLabel">Since:</span></dt>
+<dd>2.0.0</dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html#allowTlsInsecureConnection-boolean-">allowTlsInsecureConnection</a></span>(boolean&nbsp;allowTlsInsecureConnection)</code>
+<div class="block">Configure whether the Pulsar client accept untrusted TLS certificate from broker <i>(default: false)</i></div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html#authentication-org.apache.pulsar.client.api.Authentication-">authentication</a></span>(<a href="../../../../../org/apache/pulsar/client/api/Authentication.html" title="interface in org.apache.pulsar.client.api">Authentication</a>&nbsp;authentication)</code>
+<div class="block">Set the authentication provider to use in the Pulsar client instance.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html#authentication-java.lang.String-java.util.Map-">authentication</a></span>(String&nbsp;authPluginClassName,
+              Map&lt;String,String&gt;&nbsp;authParams)</code>
+<div class="block">Set the authentication provider to use in the Pulsar client instance.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html#authentication-java.lang.String-java.lang.String-">authentication</a></span>(String&nbsp;authPluginClassName,
+              String&nbsp;authParamsString)</code>
+<div class="block">Set the authentication provider to use in the Pulsar client instance.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api">PulsarClient</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html#build--">build</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html#clone--">clone</a></span>()</code>
+<div class="block">Create a copy of the current client builder.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html#connectionsPerBroker-int-">connectionsPerBroker</a></span>(int&nbsp;connectionsPerBroker)</code>
+<div class="block">Sets the max number of connection that the client library will open to a single broker.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html#enableTcpNoDelay-boolean-">enableTcpNoDelay</a></span>(boolean&nbsp;enableTcpNoDelay)</code>
+<div class="block">Configure whether to use TCP no-delay flag on the connection, to disable Nagle algorithm.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html#enableTls-boolean-">enableTls</a></span>(boolean&nbsp;enableTls)</code>
+<div class="block">Configure whether to use TLS encryption on the connection <i>(default: false)</i></div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html#enableTlsHostnameVerification-boolean-">enableTlsHostnameVerification</a></span>(boolean&nbsp;enableTlsHostnameVerification)</code>
+<div class="block">It allows to validate hostname verification when client connects to broker over tls.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html#ioThreads-int-">ioThreads</a></span>(int&nbsp;numIoThreads)</code>
+<div class="block">Set the number of threads to be used for handling connections to brokers <i>(default: 1 thread)</i></div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html#listenerThreads-int-">listenerThreads</a></span>(int&nbsp;numListenerThreads)</code>
+<div class="block">Set the number of threads to be used for message listeners <i>(default: 1 thread)</i></div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html#maxConcurrentLookupRequests-int-">maxConcurrentLookupRequests</a></span>(int&nbsp;maxConcurrentLookupRequests)</code>
+<div class="block">Number of concurrent lookup-requests allowed on each broker-connection to prevent overload on broker.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html#maxNumberOfRejectedRequestPerConnection-int-">maxNumberOfRejectedRequestPerConnection</a></span>(int&nbsp;maxNumberOfRejectedRequestPerConnection)</code>
+<div class="block">Set max number of broker-rejected requests in a certain time-frame (30 seconds) after which current connection
+ will be closed and client creates a new connection that give chance to connect a different broker <i>(default:
+ 50)</i></div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html#operationTimeout-int-java.util.concurrent.TimeUnit-">operationTimeout</a></span>(int&nbsp;operationTimeout,
+                TimeUnit&nbsp;unit)</code>
+<div class="block">Set the operation timeout <i>(default: 30 seconds)</i></div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html#serviceUrl-java.lang.String-">serviceUrl</a></span>(String&nbsp;serviceUrl)</code>
+<div class="block">Configure the service URL for the Pulsar service.</div>
+</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html#statsInterval-long-java.util.concurrent.TimeUnit-">statsInterval</a></span>(long&nbsp;statsInterval,
+             TimeUnit&nbsp;unit)</code>
+<div class="block">Set the interval between each stat info <i>(default: 60 seconds)</i> Stats will be activated with positive
+ statsIntervalSeconds It should be set to at least 1 second</div>
+</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html#tlsTrustCertsFilePath-java.lang.String-">tlsTrustCertsFilePath</a></span>(String&nbsp;tlsTrustCertsFilePath)</code>
+<div class="block">Set the path to the trusted TLS certificate file</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="build--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>build</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api">PulsarClient</a>&nbsp;build()
+            throws <a href="../../../../../org/apache/pulsar/client/api/PulsarClientException.html" title="class in org.apache.pulsar.client.api">PulsarClientException</a></pre>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the new <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api"><code>PulsarClient</code></a> instance</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../../org/apache/pulsar/client/api/PulsarClientException.html" title="class in org.apache.pulsar.client.api">PulsarClientException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="clone--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>clone</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a>&nbsp;clone()</pre>
+<div class="block">Create a copy of the current client builder.
+ <p>
+ Cloning the builder can be used to share an incomplete configuration and specialize it multiple times. For
+ example:
+
+ <pre>
+ ClientBuilder builder = PulsarClient.builder().ioThreads(8).listenerThreads(4);
+
+ PulsarClient client1 = builder.clone().serviceUrl(URL_1).build();
+ PulsarClient client2 = builder.clone().serviceUrl(URL_2).build();
+ </pre></div>
+</li>
+</ul>
+<a name="serviceUrl-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>serviceUrl</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a>&nbsp;serviceUrl(String&nbsp;serviceUrl)</pre>
+<div class="block">Configure the service URL for the Pulsar service.
+ <p>
+ This parameter is required</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>serviceUrl</code> - </dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+</dl>
+</li>
+</ul>
+<a name="authentication-org.apache.pulsar.client.api.Authentication-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>authentication</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a>&nbsp;authentication(<a href="../../../../../org/apache/pulsar/client/api/Authentication.html" title="interface in org.apache.pulsar.client.api">Authentication</a>&nbsp;authentication)</pre>
+<div class="block">Set the authentication provider to use in the Pulsar client instance.
+ <p>
+ Example:
+ <p>
+
+ <pre>
+ <code>
+ 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);
+
+ PulsarClient client = PulsarClient.builder()
+          .serviceUrl(SERVICE_URL)
+          .authentication(auth)
+          .build();
+ ....
+ </code>
+ </pre></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>authentication</code> - an instance of the <a href="../../../../../org/apache/pulsar/client/api/Authentication.html" title="interface in org.apache.pulsar.client.api"><code>Authentication</code></a> provider already constructed</dd>
+</dl>
+</li>
+</ul>
+<a name="authentication-java.lang.String-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>authentication</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a>&nbsp;authentication(String&nbsp;authPluginClassName,
+                             String&nbsp;authParamsString)
+                      throws <a href="../../../../../org/apache/pulsar/client/api/PulsarClientException.UnsupportedAuthenticationException.html" title="class in org.apache.pulsar.client.api">PulsarClientException.UnsupportedAuthenticationException</a></pre>
+<div class="block">Set the authentication provider to use in the Pulsar client instance.
+ <p>
+ Example:
+ <p>
+
+ <pre>
+ <code>
+ String AUTH_CLASS = "org.apache.pulsar.client.impl.auth.AuthenticationTls";
+ String AUTH_PARAMS = "tlsCertFile:/my/cert/file,tlsKeyFile:/my/key/file";
+
+ PulsarClient client = PulsarClient.builder()
+          .serviceUrl(SERVICE_URL)
+          .authentication(AUTH_CLASS, AUTH_PARAMS)
+          .build();
+ ....
+ </code>
+ </pre></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>authPluginClassName</code> - name of the Authentication-Plugin you want to use</dd>
+<dd><code>authParamsString</code> - string which represents parameters for the Authentication-Plugin, e.g., "key1:val1,key2:val2"</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../../org/apache/pulsar/client/api/PulsarClientException.UnsupportedAuthenticationException.html" title="class in org.apache.pulsar.client.api">PulsarClientException.UnsupportedAuthenticationException</a></code> - failed to instantiate specified Authentication-Plugin</dd>
+</dl>
+</li>
+</ul>
+<a name="authentication-java.lang.String-java.util.Map-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>authentication</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a>&nbsp;authentication(String&nbsp;authPluginClassName,
+                             Map&lt;String,String&gt;&nbsp;authParams)
+                      throws <a href="../../../../../org/apache/pulsar/client/api/PulsarClientException.UnsupportedAuthenticationException.html" title="class in org.apache.pulsar.client.api">PulsarClientException.UnsupportedAuthenticationException</a></pre>
+<div class="block">Set the authentication provider to use in the Pulsar client instance.
+ <p>
+ Example:
+ <p>
+
+ <pre>
+ <code>
+ 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");
+
+ PulsarClient client = PulsarClient.builder()
+          .serviceUrl(SERVICE_URL)
+          .authentication(AUTH_CLASS, conf)
+          .build();
+ ....
+ </code></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>authPluginClassName</code> - name of the Authentication-Plugin you want to use</dd>
+<dd><code>authParams</code> - map which represents parameters for the Authentication-Plugin</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../../org/apache/pulsar/client/api/PulsarClientException.UnsupportedAuthenticationException.html" title="class in org.apache.pulsar.client.api">PulsarClientException.UnsupportedAuthenticationException</a></code> - failed to instantiate specified Authentication-Plugin</dd>
+</dl>
+</li>
+</ul>
+<a name="operationTimeout-int-java.util.concurrent.TimeUnit-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>operationTimeout</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a>&nbsp;operationTimeout(int&nbsp;operationTimeout,
+                               TimeUnit&nbsp;unit)</pre>
+<div class="block">Set the operation timeout <i>(default: 30 seconds)</i>
+ <p>
+ Producer-create, subscribe and unsubscribe operations will be retried until this interval, after which the
+ operation will be maked as failed</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>operationTimeout</code> - operation timeout</dd>
+<dd><code>unit</code> - time unit for <code>operationTimeout</code></dd>
+</dl>
+</li>
+</ul>
+<a name="ioThreads-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ioThreads</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a>&nbsp;ioThreads(int&nbsp;numIoThreads)</pre>
+<div class="block">Set the number of threads to be used for handling connections to brokers <i>(default: 1 thread)</i></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>numIoThreads</code> - </dd>
+</dl>
+</li>
+</ul>
+<a name="listenerThreads-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>listenerThreads</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a>&nbsp;listenerThreads(int&nbsp;numListenerThreads)</pre>
+<div class="block">Set the number of threads to be used for message listeners <i>(default: 1 thread)</i></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>numListenerThreads</code> - </dd>
+</dl>
+</li>
+</ul>
+<a name="connectionsPerBroker-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>connectionsPerBroker</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a>&nbsp;connectionsPerBroker(int&nbsp;connectionsPerBroker)</pre>
+<div class="block">Sets the max number of connection that the client library will open to a single broker.
+ <p>
+ By default, the connection pool will use a single connection for all the producers and consumers. Increasing this
+ parameter may improve throughput when using many producers over a high latency connection.
+ <p></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>connectionsPerBroker</code> - max number of connections per broker (needs to be greater than 0)</dd>
+</dl>
+</li>
+</ul>
+<a name="enableTcpNoDelay-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>enableTcpNoDelay</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a>&nbsp;enableTcpNoDelay(boolean&nbsp;enableTcpNoDelay)</pre>
+<div class="block">Configure whether to use TCP no-delay flag on the connection, to disable Nagle algorithm.
+ <p>
+ No-delay features make sure packets are sent out on the network as soon as possible, and it's critical to achieve
+ low latency publishes. On the other hand, sending out a huge number of small packets might limit the overall
+ throughput, so if latency is not a concern, it's advisable to set the <code>useTcpNoDelay</code> flag to false.
+ <p>
+ Default value is true</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>enableTcpNoDelay</code> - </dd>
+</dl>
+</li>
+</ul>
+<a name="enableTls-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>enableTls</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a>&nbsp;enableTls(boolean&nbsp;enableTls)</pre>
+<div class="block">Configure whether to use TLS encryption on the connection <i>(default: false)</i></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>enableTls</code> - </dd>
+</dl>
+</li>
+</ul>
+<a name="tlsTrustCertsFilePath-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>tlsTrustCertsFilePath</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a>&nbsp;tlsTrustCertsFilePath(String&nbsp;tlsTrustCertsFilePath)</pre>
+<div class="block">Set the path to the trusted TLS certificate file</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tlsTrustCertsFilePath</code> - </dd>
+</dl>
+</li>
+</ul>
+<a name="allowTlsInsecureConnection-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>allowTlsInsecureConnection</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a>&nbsp;allowTlsInsecureConnection(boolean&nbsp;allowTlsInsecureConnection)</pre>
+<div class="block">Configure whether the Pulsar client accept untrusted TLS certificate from broker <i>(default: false)</i></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>allowTlsInsecureConnection</code> - </dd>
+</dl>
+</li>
+</ul>
+<a name="enableTlsHostnameVerification-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>enableTlsHostnameVerification</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a>&nbsp;enableTlsHostnameVerification(boolean&nbsp;enableTlsHostnameVerification)</pre>
+<div class="block">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.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>enableTlsHostnameVerification</code> - </dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="https://tools.ietf.org/html/rfc2818">rfc2818</a></dd>
+</dl>
+</li>
+</ul>
+<a name="statsInterval-long-java.util.concurrent.TimeUnit-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>statsInterval</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a>&nbsp;statsInterval(long&nbsp;statsInterval,
+                            TimeUnit&nbsp;unit)</pre>
+<div class="block">Set the interval between each stat info <i>(default: 60 seconds)</i> Stats will be activated with positive
+ statsIntervalSeconds It should be set to at least 1 second</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>statsIntervalSeconds</code> - the interval between each stat info</dd>
+<dd><code>unit</code> - time unit for <code>statsInterval</code></dd>
+</dl>
+</li>
+</ul>
+<a name="maxConcurrentLookupRequests-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>maxConcurrentLookupRequests</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a>&nbsp;maxConcurrentLookupRequests(int&nbsp;maxConcurrentLookupRequests)</pre>
+<div class="block">Number of concurrent lookup-requests allowed on each broker-connection to prevent overload on broker.
+ <i>(default: 5000)</i> It should be configured with higher value only in case of it requires to produce/subscribe
+ on thousands of topic using created <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api"><code>PulsarClient</code></a></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>maxConcurrentLookupRequests</code> - </dd>
+</dl>
+</li>
+</ul>
+<a name="maxNumberOfRejectedRequestPerConnection-int-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>maxNumberOfRejectedRequestPerConnection</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a>&nbsp;maxNumberOfRejectedRequestPerConnection(int&nbsp;maxNumberOfRejectedRequestPerConnection)</pre>
+<div class="block">Set max number of broker-rejected requests in a certain time-frame (30 seconds) after which current connection
+ will be closed and client creates a new connection that give chance to connect a different broker <i>(default:
+ 50)</i></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>maxNumberOfRejectedRequestPerConnection</code> - </dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/pulsar/client/api/AuthenticationUtil.html" title="class in org.apache.pulsar.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/pulsar/client/api/ClientBuilder.html" target="_top">Frames</a></li>
+<li><a href="ClientBuilder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/content/api/client/org/apache/pulsar/client/api/ClientConfiguration.html b/content/api/client/org/apache/pulsar/client/api/ClientConfiguration.html
index 353d83d..3228364 100644
--- a/content/api/client/org/apache/pulsar/client/api/ClientConfiguration.html
+++ b/content/api/client/org/apache/pulsar/client/api/ClientConfiguration.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":42,"i1":42,"i2":42,"i3":42,"i4":42,"i5":42,"i6":42,"i7":42,"i8":42,"i9":42,"i10":42,"i11":42,"i12":42,"i13":42,"i14":42,"i15":42,"i16":42,"i17":42,"i18":42,"i19":42,"i20":42,"i21":42,"i22":42,"i23":42,"i24":42,"i25":42,"i26":42,"i27":42};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -47,7 +47,7 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/pulsar/client/api/AuthenticationUtil.html" title="class in org.apache.pulsar.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/pulsar/client/api/CompressionType.html" title="enum in org.apache.pulsar.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -110,8 +110,12 @@ var activeTableTab = "activeTableTab";
 <dd>Serializable</dd>
 </dl>
 <hr>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">Use <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#builder--"><code>PulsarClient.builder()</code></a> to construct and configure a new <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api"><code>PulsarClient</code></a> instance</span></div>
+</div>
 <br>
-<pre>public class <span class="typeNameLabel">ClientConfiguration</span>
+<pre>@Deprecated
+public class <span class="typeNameLabel">ClientConfiguration</span>
 extends Object
 implements Serializable</pre>
 <div class="block">Class used to specify client side configuration like authentication, etc..</div>
@@ -137,7 +141,9 @@ implements Serializable</pre>
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html#ClientConfiguration--">ClientConfiguration</a></span>()</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html#ClientConfiguration--">ClientConfiguration</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -149,72 +155,96 @@ implements Serializable</pre>
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="t [...]
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/Authentication.html" title="interface in org.apache.pulsar.client.api">Authentication</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html#getAuthentication--">getAuthentication</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html#getAuthentication--">getAuthentication</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html#getConcurrentLookupRequest--">getConcurrentLookupRequest</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Get configured total allowed concurrent lookup-request.</div>
 </td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html#getConnectionsPerBroker--">getConnectionsPerBroker</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html#getConnectionsPerBroker--">getConnectionsPerBroker</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html#getIoThreads--">getIoThreads</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html#getIoThreads--">getIoThreads</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html#getListenerThreads--">getListenerThreads</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html#getListenerThreads--">getListenerThreads</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html#getMaxNumberOfRejectedRequestPerConnection--">getMaxNumberOfRejectedRequestPerConnection</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Get configured max number of reject-request in a time-frame (30 seconds) after which connection will be closed</div>
 </td>
 </tr>
 <tr id="i6" class="altColor">
 <td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html#getOperationTimeoutMs--">getOperationTimeoutMs</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html#getOperationTimeoutMs--">getOperationTimeoutMs</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i7" class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html#getStatsIntervalSeconds--">getStatsIntervalSeconds</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Stats will be activated with positive statsIntervalSeconds</div>
 </td>
 </tr>
 <tr id="i8" class="altColor">
 <td class="colFirst"><code>String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html#getTlsTrustCertsFilePath--">getTlsTrustCertsFilePath</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html#getTlsTrustCertsFilePath--">getTlsTrustCertsFilePath</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i9" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html#isTlsAllowInsecureConnection--">isTlsAllowInsecureConnection</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html#isTlsAllowInsecureConnection--">isTlsAllowInsecureConnection</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i10" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html#isTlsHostnameVerificationEnable--">isTlsHostnameVerificationEnable</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html#isTlsHostnameVerificationEnable--">isTlsHostnameVerificationEnable</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i11" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html#isUseTcpNoDelay--">isUseTcpNoDelay</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html#isUseTcpNoDelay--">isUseTcpNoDelay</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i12" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html#isUseTls--">isUseTls</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html#isUseTls--">isUseTls</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i13" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html#setAuthentication-org.apache.pulsar.client.api.Authentication-">setAuthentication</a></span>(<a href="../../../../../org/apache/pulsar/client/api/Authentication.html" title="interface in org.apache.pulsar.client.api">Authentication</a>&nbsp;authentication)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the authentication provider to use in the Pulsar client instance.</div>
 </td>
 </tr>
@@ -222,6 +252,7 @@ implements Serializable</pre>
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html#setAuthentication-java.lang.String-java.util.Map-">setAuthentication</a></span>(String&nbsp;authPluginClassName,
                  Map&lt;String,String&gt;&nbsp;authParams)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the authentication provider to use in the Pulsar client instance.</div>
 </td>
 </tr>
@@ -229,36 +260,42 @@ implements Serializable</pre>
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html#setAuthentication-java.lang.String-java.lang.String-">setAuthentication</a></span>(String&nbsp;authPluginClassName,
                  String&nbsp;authParamsString)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the authentication provider to use in the Pulsar client instance.</div>
 </td>
 </tr>
 <tr id="i16" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html#setConcurrentLookupRequest-int-">setConcurrentLookupRequest</a></span>(int&nbsp;concurrentLookupRequest)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Number of concurrent lookup-requests allowed on each broker-connection to prevent overload on broker.</div>
 </td>
 </tr>
 <tr id="i17" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html#setConnectionsPerBroker-int-">setConnectionsPerBroker</a></span>(int&nbsp;connectionsPerBroker)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Sets the max number of connection that the client library will open to a single broker.</div>
 </td>
 </tr>
 <tr id="i18" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html#setIoThreads-int-">setIoThreads</a></span>(int&nbsp;numIoThreads)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the number of threads to be used for handling connections to brokers <i>(default: 1 thread)</i></div>
 </td>
 </tr>
 <tr id="i19" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html#setListenerThreads-int-">setListenerThreads</a></span>(int&nbsp;numListenerThreads)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the number of threads to be used for message listeners <i>(default: 1 thread)</i></div>
 </td>
 </tr>
 <tr id="i20" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html#setMaxNumberOfRejectedRequestPerConnection-int-">setMaxNumberOfRejectedRequestPerConnection</a></span>(int&nbsp;maxNumberOfRejectedRequestPerConnection)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set max number of broker-rejected requests in a certain time-frame (30 seconds) after which current connection
  will be closed and client creates a new connection that give chance to connect a different broker <i>(default:
  50)</i></div>
@@ -268,6 +305,7 @@ implements Serializable</pre>
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html#setOperationTimeout-int-java.util.concurrent.TimeUnit-">setOperationTimeout</a></span>(int&nbsp;operationTimeout,
                    TimeUnit&nbsp;unit)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the operation timeout <i>(default: 30 seconds)</i></div>
 </td>
 </tr>
@@ -275,6 +313,7 @@ implements Serializable</pre>
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html#setStatsInterval-long-java.util.concurrent.TimeUnit-">setStatsInterval</a></span>(long&nbsp;statsInterval,
                 TimeUnit&nbsp;unit)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the interval between each stat info <i>(default: 60 seconds)</i> Stats will be activated with positive
  statsIntervalSeconds It should be set to at least 1 second</div>
 </td>
@@ -282,30 +321,35 @@ implements Serializable</pre>
 <tr id="i23" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html#setTlsAllowInsecureConnection-boolean-">setTlsAllowInsecureConnection</a></span>(boolean&nbsp;tlsAllowInsecureConnection)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Configure whether the Pulsar client accept untrusted TLS certificate from broker <i>(default: false)</i></div>
 </td>
 </tr>
 <tr id="i24" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html#setTlsHostnameVerificationEnable-boolean-">setTlsHostnameVerificationEnable</a></span>(boolean&nbsp;tlsHostnameVerificationEnable)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">It allows to validate hostname verification when client connects to broker over tls.</div>
 </td>
 </tr>
 <tr id="i25" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html#setTlsTrustCertsFilePath-java.lang.String-">setTlsTrustCertsFilePath</a></span>(String&nbsp;tlsTrustCertsFilePath)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the path to the trusted TLS certificate file</div>
 </td>
 </tr>
 <tr id="i26" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html#setUseTcpNoDelay-boolean-">setUseTcpNoDelay</a></span>(boolean&nbsp;useTcpNoDelay)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Configure whether to use TCP no-delay flag on the connection, to disable Nagle algorithm.</div>
 </td>
 </tr>
 <tr id="i27" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html#setUseTls-boolean-">setUseTls</a></span>(boolean&nbsp;useTls)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Configure whether to use TLS encryption on the connection <i>(default: false)</i></div>
 </td>
 </tr>
@@ -338,6 +382,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>ClientConfiguration</h4>
 <pre>public&nbsp;ClientConfiguration()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 </li>
@@ -355,6 +400,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>getAuthentication</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/Authentication.html" title="interface in org.apache.pulsar.client.api">Authentication</a>&nbsp;getAuthentication()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the authentication provider to be used</dd>
@@ -368,6 +414,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>setAuthentication</h4>
 <pre>public&nbsp;void&nbsp;setAuthentication(<a href="../../../../../org/apache/pulsar/client/api/Authentication.html" title="interface in org.apache.pulsar.client.api">Authentication</a>&nbsp;authentication)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the authentication provider to use in the Pulsar client instance.
  <p>
  Example:
@@ -399,6 +446,7 @@ implements Serializable</pre>
 <pre>public&nbsp;void&nbsp;setAuthentication(String&nbsp;authPluginClassName,
                               String&nbsp;authParamsString)
                        throws <a href="../../../../../org/apache/pulsar/client/api/PulsarClientException.UnsupportedAuthenticationException.html" title="class in org.apache.pulsar.client.api">PulsarClientException.UnsupportedAuthenticationException</a></pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the authentication provider to use in the Pulsar client instance.
  <p>
  Example:
@@ -432,6 +480,7 @@ implements Serializable</pre>
 <pre>public&nbsp;void&nbsp;setAuthentication(String&nbsp;authPluginClassName,
                               Map&lt;String,String&gt;&nbsp;authParams)
                        throws <a href="../../../../../org/apache/pulsar/client/api/PulsarClientException.UnsupportedAuthenticationException.html" title="class in org.apache.pulsar.client.api">PulsarClientException.UnsupportedAuthenticationException</a></pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the authentication provider to use in the Pulsar client instance.
  <p>
  Example:
@@ -464,6 +513,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>getOperationTimeoutMs</h4>
 <pre>public&nbsp;long&nbsp;getOperationTimeoutMs()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the operation timeout in ms</dd>
@@ -478,6 +528,7 @@ implements Serializable</pre>
 <h4>setOperationTimeout</h4>
 <pre>public&nbsp;void&nbsp;setOperationTimeout(int&nbsp;operationTimeout,
                                 TimeUnit&nbsp;unit)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the operation timeout <i>(default: 30 seconds)</i>
  <p>
  Producer-create, subscribe and unsubscribe operations will be retried until this interval, after which the
@@ -496,6 +547,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>getIoThreads</h4>
 <pre>public&nbsp;int&nbsp;getIoThreads()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the number of threads to use for handling connections</dd>
@@ -509,6 +561,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>setIoThreads</h4>
 <pre>public&nbsp;void&nbsp;setIoThreads(int&nbsp;numIoThreads)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the number of threads to be used for handling connections to brokers <i>(default: 1 thread)</i></div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -523,6 +576,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>getListenerThreads</h4>
 <pre>public&nbsp;int&nbsp;getListenerThreads()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the number of threads to use for message listeners</dd>
@@ -536,6 +590,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>setListenerThreads</h4>
 <pre>public&nbsp;void&nbsp;setListenerThreads(int&nbsp;numListenerThreads)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the number of threads to be used for message listeners <i>(default: 1 thread)</i></div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -550,6 +605,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>getConnectionsPerBroker</h4>
 <pre>public&nbsp;int&nbsp;getConnectionsPerBroker()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the max number of connections per single broker</dd>
@@ -563,6 +619,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>setConnectionsPerBroker</h4>
 <pre>public&nbsp;void&nbsp;setConnectionsPerBroker(int&nbsp;connectionsPerBroker)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Sets the max number of connection that the client library will open to a single broker.
  <p>
  By default, the connection pool will use a single connection for all the producers and consumers. Increasing this
@@ -581,6 +638,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>isUseTcpNoDelay</h4>
 <pre>public&nbsp;boolean&nbsp;isUseTcpNoDelay()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>whether TCP no-delay should be set on the connections</dd>
@@ -594,6 +652,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>setUseTcpNoDelay</h4>
 <pre>public&nbsp;void&nbsp;setUseTcpNoDelay(boolean&nbsp;useTcpNoDelay)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Configure whether to use TCP no-delay flag on the connection, to disable Nagle algorithm.
  <p>
  No-delay features make sure packets are sent out on the network as soon as possible, and it's critical to achieve
@@ -614,6 +673,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>isUseTls</h4>
 <pre>public&nbsp;boolean&nbsp;isUseTls()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>whether TLS encryption is used on the connection</dd>
@@ -627,6 +687,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>setUseTls</h4>
 <pre>public&nbsp;void&nbsp;setUseTls(boolean&nbsp;useTls)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Configure whether to use TLS encryption on the connection <i>(default: false)</i></div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -641,6 +702,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>getTlsTrustCertsFilePath</h4>
 <pre>public&nbsp;String&nbsp;getTlsTrustCertsFilePath()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>path to the trusted TLS certificate file</dd>
@@ -654,6 +716,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>setTlsTrustCertsFilePath</h4>
 <pre>public&nbsp;void&nbsp;setTlsTrustCertsFilePath(String&nbsp;tlsTrustCertsFilePath)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the path to the trusted TLS certificate file</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -668,6 +731,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>isTlsAllowInsecureConnection</h4>
 <pre>public&nbsp;boolean&nbsp;isTlsAllowInsecureConnection()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>whether the Pulsar client accept untrusted TLS certificate from broker</dd>
@@ -681,6 +745,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>setTlsAllowInsecureConnection</h4>
 <pre>public&nbsp;void&nbsp;setTlsAllowInsecureConnection(boolean&nbsp;tlsAllowInsecureConnection)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Configure whether the Pulsar client accept untrusted TLS certificate from broker <i>(default: false)</i></div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -695,6 +760,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>getStatsIntervalSeconds</h4>
 <pre>public&nbsp;long&nbsp;getStatsIntervalSeconds()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Stats will be activated with positive statsIntervalSeconds</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -710,6 +776,7 @@ implements Serializable</pre>
 <h4>setStatsInterval</h4>
 <pre>public&nbsp;void&nbsp;setStatsInterval(long&nbsp;statsInterval,
                              TimeUnit&nbsp;unit)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the interval between each stat info <i>(default: 60 seconds)</i> Stats will be activated with positive
  statsIntervalSeconds It should be set to at least 1 second</div>
 <dl>
@@ -726,6 +793,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>getConcurrentLookupRequest</h4>
 <pre>public&nbsp;int&nbsp;getConcurrentLookupRequest()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Get configured total allowed concurrent lookup-request.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -739,6 +807,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>setConcurrentLookupRequest</h4>
 <pre>public&nbsp;void&nbsp;setConcurrentLookupRequest(int&nbsp;concurrentLookupRequest)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Number of concurrent lookup-requests allowed on each broker-connection to prevent overload on broker.
  <i>(default: 50000)</i> It should be configured with higher value only in case of it requires to produce/subscribe on
  thousands of topic using created <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api"><code>PulsarClient</code></a></div>
@@ -755,6 +824,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>getMaxNumberOfRejectedRequestPerConnection</h4>
 <pre>public&nbsp;int&nbsp;getMaxNumberOfRejectedRequestPerConnection()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Get configured max number of reject-request in a time-frame (30 seconds) after which connection will be closed</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -768,6 +838,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>setMaxNumberOfRejectedRequestPerConnection</h4>
 <pre>public&nbsp;void&nbsp;setMaxNumberOfRejectedRequestPerConnection(int&nbsp;maxNumberOfRejectedRequestPerConnection)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set max number of broker-rejected requests in a certain time-frame (30 seconds) after which current connection
  will be closed and client creates a new connection that give chance to connect a different broker <i>(default:
  50)</i></div>
@@ -784,6 +855,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>isTlsHostnameVerificationEnable</h4>
 <pre>public&nbsp;boolean&nbsp;isTlsHostnameVerificationEnable()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 <a name="setTlsHostnameVerificationEnable-boolean-">
@@ -793,6 +865,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>setTlsHostnameVerificationEnable</h4>
 <pre>public&nbsp;void&nbsp;setTlsHostnameVerificationEnable(boolean&nbsp;tlsHostnameVerificationEnable)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">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.</div>
@@ -831,7 +904,7 @@ implements Serializable</pre>
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/pulsar/client/api/AuthenticationUtil.html" title="class in org.apache.pulsar.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/pulsar/client/api/CompressionType.html" title="enum in org.apache.pulsar.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
diff --git a/content/api/client/org/apache/pulsar/client/api/Consumer.html b/content/api/client/org/apache/pulsar/client/api/Consumer.html
index f46f3af..598e807 100644
--- a/content/api/client/org/apache/pulsar/client/api/Consumer.html
+++ b/content/api/client/org/apache/pulsar/client/api/Consumer.html
@@ -48,7 +48,7 @@ var activeTableTab = "activeTableTab";
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/pulsar/client/api/CompressionType.html" title="enum in org.apache.pulsar.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/pulsar/client/api/Consumer.html" target="_top">Frames</a></li>
@@ -723,7 +723,7 @@ extends Closeable</pre>
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/pulsar/client/api/CompressionType.html" title="enum in org.apache.pulsar.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/pulsar/client/api/Consumer.html" target="_top">Frames</a></li>
diff --git a/content/api/client/org/apache/pulsar/client/api/ConsumerBuilder.html b/content/api/client/org/apache/pulsar/client/api/ConsumerBuilder.html
new file mode 100644
index 0000000..12d50f5
--- /dev/null
+++ b/content/api/client/org/apache/pulsar/client/api/ConsumerBuilder.html
@@ -0,0 +1,646 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>ConsumerBuilder (Pulsar Client Java API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ConsumerBuilder (Pulsar Client Java API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/pulsar/client/api/ConsumerBuilder.html" target="_top">Frames</a></li>
+<li><a href="ConsumerBuilder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.pulsar.client.api</div>
+<h2 title="Interface ConsumerBuilder" class="title">Interface ConsumerBuilder</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd>Cloneable, Serializable</dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">ConsumerBuilder</span>
+extends Serializable, Cloneable</pre>
+<div class="block"><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api"><code>ConsumerBuilder</code></a> is used to configure and create instances of <a href="../../../../../org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api"><code>Consumer</code></a>.</div>
+<dl>
+<dt><span class="simpleTagLabel">Since:</span></dt>
+<dd>2.0.0</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#newConsumer--"><code>PulsarClient.newConsumer()</code></a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html#ackTimeout-long-java.util.concurrent.TimeUnit-">ackTimeout</a></span>(long&nbsp;ackTimeout,
+          TimeUnit&nbsp;timeUnit)</code>
+<div class="block">Set the timeout for unacked messages, truncated to the nearest millisecond.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html#clone--">clone</a></span>()</code>
+<div class="block">Create a copy of the current consumer builder.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html#consumerName-java.lang.String-">consumerName</a></span>(String&nbsp;consumerName)</code>
+<div class="block">Set the consumer name.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html#cryptoFailureAction-org.apache.pulsar.client.api.ConsumerCryptoFailureAction-">cryptoFailureAction</a></span>(<a href="../../../../../org/apache/pulsar/client/api/ConsumerCryptoFailureAction.html" title="enum in org.apache.pulsar.client.api">ConsumerCryptoFailureAction</a>&nbsp;action)</code>
+<div class="block">Sets the ConsumerCryptoFailureAction to the value specified</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html#cryptoKeyReader-org.apache.pulsar.client.api.CryptoKeyReader-">cryptoKeyReader</a></span>(<a href="../../../../../org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api">CryptoKeyReader</a>&nbsp;cryptoKeyReader)</code>
+<div class="block">Sets a <a href="../../../../../org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api"><code>CryptoKeyReader</code></a></div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html#maxTotalReceiverQueueSizeAcrossPartitions-int-">maxTotalReceiverQueueSizeAcrossPartitions</a></span>(int&nbsp;maxTotalReceiverQueueSizeAcrossPartitions)</code>
+<div class="block">Set the max total receiver queue size across partitons.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html#messageListener-org.apache.pulsar.client.api.MessageListener-">messageListener</a></span>(<a href="../../../../../org/apache/pulsar/client/api/MessageListener.html" title="interface in org.apache.pulsar.client.api">MessageListener</a>&nbsp;messageListener)</code>
+<div class="block">Sets a <a href="../../../../../org/apache/pulsar/client/api/MessageListener.html" title="interface in org.apache.pulsar.client.api"><code>MessageListener</code></a> for the consumer</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html#priorityLevel-int-">priorityLevel</a></span>(int&nbsp;priorityLevel)</code>
+<div class="block">Sets priority level for the shared subscription consumers to which broker gives more priority while dispatching
+ messages.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html#properties-java.util.Map-">properties</a></span>(Map&lt;String,String&gt;&nbsp;properties)</code>
+<div class="block">Add all the properties in the provided map</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html#property-java.lang.String-java.lang.String-">property</a></span>(String&nbsp;key,
+        String&nbsp;value)</code>
+<div class="block">Set a name/value property with this consumer.</div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html#readCompacted-boolean-">readCompacted</a></span>(boolean&nbsp;readCompacted)</code>
+<div class="block">If enabled, the consumer will read messages from the compacted topic rather than reading the full message backlog
+ of the topic.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html#receiverQueueSize-int-">receiverQueueSize</a></span>(int&nbsp;receiverQueueSize)</code>
+<div class="block">Sets the size of the consumer receive queue.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api">Consumer</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html#subscribe--">subscribe</a></span>()</code>
+<div class="block">Finalize the <a href="../../../../../org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api"><code>Consumer</code></a> creation by subscribing to the topic.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code>CompletableFuture&lt;<a href="../../../../../org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api">Consumer</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html#subscribeAsync--">subscribeAsync</a></span>()</code>
+<div class="block">Finalize the <a href="../../../../../org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api"><code>Consumer</code></a> creation by subscribing to the topic in asynchronous mode.</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html#subscriptionName-java.lang.String-">subscriptionName</a></span>(String&nbsp;subscriptionName)</code>
+<div class="block">Specify the subscription name for this consumer.</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html#subscriptionType-org.apache.pulsar.client.api.SubscriptionType-">subscriptionType</a></span>(<a href="../../../../../org/apache/pulsar/client/api/SubscriptionType.html" title="enum in org.apache.pulsar.client.api">SubscriptionType</a>&nbsp;subscriptionType)</code>
+<div class="block">Select the subscription type to be used when subscribing to the topic.</div>
+</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html#topic-java.lang.String-">topic</a></span>(String&nbsp;topicName)</code>
+<div class="block">Specify the topic this consumer will subscribe on.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="clone--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>clone</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a>&nbsp;clone()</pre>
+<div class="block">Create a copy of the current consumer builder.
+ <p>
+ Cloning the builder can be used to share an incomplete configuration and specialize it multiple times. For
+ example:
+
+ <pre>
+ ConsumerBuilder builder = client.newConsumer() //
+         .subscriptionName("my-subscription-name") //
+         .subscriptionType(SubscriptionType.Shared) //
+         .receiverQueueSize(10);
+
+ Consumer consumer1 = builder.clone().topic(TOPIC_1).subscribe();
+ Consumer consumer2 = builder.clone().topic(TOPIC_2).subscribe();
+ </pre></div>
+</li>
+</ul>
+<a name="subscribe--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>subscribe</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api">Consumer</a>&nbsp;subscribe()
+            throws <a href="../../../../../org/apache/pulsar/client/api/PulsarClientException.html" title="class in org.apache.pulsar.client.api">PulsarClientException</a></pre>
+<div class="block">Finalize the <a href="../../../../../org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api"><code>Consumer</code></a> creation by subscribing to the topic.
+
+ <p>
+ If the subscription does not exist, a new subscription will be created and all messages published after the
+ creation will be retained until acknowledged, even if the consumer is not connected.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the <a href="../../../../../org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api"><code>Consumer</code></a> instance</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../../org/apache/pulsar/client/api/PulsarClientException.html" title="class in org.apache.pulsar.client.api">PulsarClientException</a></code> - if the the subscribe operation fails</dd>
+</dl>
+</li>
+</ul>
+<a name="subscribeAsync--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>subscribeAsync</h4>
+<pre>CompletableFuture&lt;<a href="../../../../../org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api">Consumer</a>&gt;&nbsp;subscribeAsync()</pre>
+<div class="block">Finalize the <a href="../../../../../org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api"><code>Consumer</code></a> creation by subscribing to the topic in asynchronous mode.
+
+ <p>
+ If the subscription does not exist, a new subscription will be created and all messages published after the
+ creation will be retained until acknowledged, even if the consumer is not connected.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a future that will yield a <a href="../../../../../org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api"><code>Consumer</code></a> instance</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../../org/apache/pulsar/client/api/PulsarClientException.html" title="class in org.apache.pulsar.client.api">PulsarClientException</a></code> - if the the subscribe operation fails</dd>
+</dl>
+</li>
+</ul>
+<a name="topic-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>topic</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a>&nbsp;topic(String&nbsp;topicName)</pre>
+<div class="block">Specify the topic this consumer will subscribe on.
+ <p>
+ This argument is required when constructing the consumer.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>topicName</code> - </dd>
+</dl>
+</li>
+</ul>
+<a name="subscriptionName-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>subscriptionName</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a>&nbsp;subscriptionName(String&nbsp;subscriptionName)</pre>
+<div class="block">Specify the subscription name for this consumer.
+ <p>
+ This argument is required when constructing the consumer.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>subscriptionName</code> - </dd>
+</dl>
+</li>
+</ul>
+<a name="ackTimeout-long-java.util.concurrent.TimeUnit-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>ackTimeout</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a>&nbsp;ackTimeout(long&nbsp;ackTimeout,
+                           TimeUnit&nbsp;timeUnit)</pre>
+<div class="block">Set the timeout for unacked messages, truncated to the nearest millisecond. The timeout needs to be greater than
+ 10 seconds.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>ackTimeout</code> - for unacked messages.</dd>
+<dd><code>timeUnit</code> - unit in which the timeout is provided.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api"><code>ConsumerConfiguration</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="subscriptionType-org.apache.pulsar.client.api.SubscriptionType-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>subscriptionType</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a>&nbsp;subscriptionType(<a href="../../../../../org/apache/pulsar/client/api/SubscriptionType.html" title="enum in org.apache.pulsar.client.api">SubscriptionType</a>&nbsp;subscriptionType)</pre>
+<div class="block">Select the subscription type to be used when subscribing to the topic.
+ <p>
+ Default is <a href="../../../../../org/apache/pulsar/client/api/SubscriptionType.html#Exclusive"><code>SubscriptionType.Exclusive</code></a></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>subscriptionType</code> - the subscription type value</dd>
+</dl>
+</li>
+</ul>
+<a name="messageListener-org.apache.pulsar.client.api.MessageListener-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>messageListener</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a>&nbsp;messageListener(<a href="../../../../../org/apache/pulsar/client/api/MessageListener.html" title="interface in org.apache.pulsar.client.api">MessageListener</a>&nbsp;messageListener)</pre>
+<div class="block">Sets a <a href="../../../../../org/apache/pulsar/client/api/MessageListener.html" title="interface in org.apache.pulsar.client.api"><code>MessageListener</code></a> for the consumer
+ <p>
+ When a <a href="../../../../../org/apache/pulsar/client/api/MessageListener.html" title="interface in org.apache.pulsar.client.api"><code>MessageListener</code></a> is set, application will receive messages through it. Calls to
+ <a href="../../../../../org/apache/pulsar/client/api/Consumer.html#receive--"><code>Consumer.receive()</code></a> will not be allowed.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>messageListener</code> - the listener object</dd>
+</dl>
+</li>
+</ul>
+<a name="cryptoKeyReader-org.apache.pulsar.client.api.CryptoKeyReader-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>cryptoKeyReader</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a>&nbsp;cryptoKeyReader(<a href="../../../../../org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api">CryptoKeyReader</a>&nbsp;cryptoKeyReader)</pre>
+<div class="block">Sets a <a href="../../../../../org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api"><code>CryptoKeyReader</code></a></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>cryptoKeyReader</code> - CryptoKeyReader object</dd>
+</dl>
+</li>
+</ul>
+<a name="cryptoFailureAction-org.apache.pulsar.client.api.ConsumerCryptoFailureAction-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>cryptoFailureAction</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a>&nbsp;cryptoFailureAction(<a href="../../../../../org/apache/pulsar/client/api/ConsumerCryptoFailureAction.html" title="enum in org.apache.pulsar.client.api">ConsumerCryptoFailureAction</a>&nbsp;action)</pre>
+<div class="block">Sets the ConsumerCryptoFailureAction to the value specified</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>action</code> - The consumer action</dd>
+</dl>
+</li>
+</ul>
+<a name="receiverQueueSize-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>receiverQueueSize</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a>&nbsp;receiverQueueSize(int&nbsp;receiverQueueSize)</pre>
+<div class="block">Sets the size of the consumer receive queue.
+ <p>
+ The consumer receive queue controls how many messages can be accumulated by the <a href="../../../../../org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api"><code>Consumer</code></a> before the
+ application calls <a href="../../../../../org/apache/pulsar/client/api/Consumer.html#receive--"><code>Consumer.receive()</code></a>. Using a higher value could potentially increase the consumer
+ throughput at the expense of bigger memory utilization.
+ </p>
+ <p>
+ <b>Setting the consumer queue size as zero</b>
+ <ul>
+ <li>Decreases the throughput of the consumer, by disabling pre-fetching of messages. This approach improves the
+ message distribution on shared subscription, by pushing messages only to the consumers that are ready to process
+ them. Neither <a href="../../../../../org/apache/pulsar/client/api/Consumer.html#receive-int-java.util.concurrent.TimeUnit-"><code>Consumer.receive(int, TimeUnit)</code></a> nor Partitioned Topics can be used if the consumer queue
+ size is zero. <a href="../../../../../org/apache/pulsar/client/api/Consumer.html#receive--"><code>Consumer.receive()</code></a> function call should not be interrupted when the consumer queue size is
+ zero.</li>
+ <li>Doesn't support Batch-Message: if consumer receives any batch-message then it closes consumer connection with
+ broker and <a href="../../../../../org/apache/pulsar/client/api/Consumer.html#receive--"><code>Consumer.receive()</code></a> call will remain blocked while <a href="../../../../../org/apache/pulsar/client/api/Consumer.html#receiveAsync--"><code>Consumer.receiveAsync()</code></a> receives
+ exception in callback. <b> consumer will not be able receive any further message unless batch-message in pipeline
+ is removed</b></li>
+ </ul>
+ </p>
+ Default value is <code>1000</code> messages and should be good for most use cases.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>receiverQueueSize</code> - the new receiver queue size value</dd>
+</dl>
+</li>
+</ul>
+<a name="maxTotalReceiverQueueSizeAcrossPartitions-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>maxTotalReceiverQueueSizeAcrossPartitions</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a>&nbsp;maxTotalReceiverQueueSizeAcrossPartitions(int&nbsp;maxTotalReceiverQueueSizeAcrossPartitions)</pre>
+<div class="block">Set the max total receiver queue size across partitons.
+ <p>
+ This setting will be used to reduce the receiver queue size for individual partitions
+ <a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html#receiverQueueSize-int-"><code>receiverQueueSize(int)</code></a> if the total exceeds this value (default: 50000).</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>maxTotalReceiverQueueSizeAcrossPartitions</code> - </dd>
+</dl>
+</li>
+</ul>
+<a name="consumerName-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>consumerName</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a>&nbsp;consumerName(String&nbsp;consumerName)</pre>
+<div class="block">Set the consumer name.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>consumerName</code> - </dd>
+</dl>
+</li>
+</ul>
+<a name="readCompacted-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>readCompacted</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a>&nbsp;readCompacted(boolean&nbsp;readCompacted)</pre>
+<div class="block">If enabled, the consumer will read messages from the compacted topic rather than reading the full message backlog
+ of the topic. This means that, if the topic has been compacted, the consumer will only see the latest value for
+ each key in the topic, up until the point in the topic message backlog that has been compacted. Beyond that
+ point, the messages will be sent as normal.
+
+ readCompacted can only be enabled subscriptions to persistent topics, which have a single active consumer (i.e.
+ failure or exclusive subscriptions). Attempting to enable it on subscriptions to a non-persistent topics or on a
+ shared subscription, will lead to the subscription call throwing a PulsarClientException.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>readCompacted</code> - whether to read from the compacted topic</dd>
+</dl>
+</li>
+</ul>
+<a name="priorityLevel-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>priorityLevel</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a>&nbsp;priorityLevel(int&nbsp;priorityLevel)</pre>
+<div class="block">Sets priority level for the shared subscription consumers to which broker gives more priority while dispatching
+ messages. Here, broker follows descending priorities. (eg: 0=max-priority, 1, 2,..) </br>
+ In Shared subscription mode, broker will first dispatch messages to max priority-level consumers if they have
+ permits, else broker will consider next priority level consumers. </br>
+ If subscription has consumer-A with priorityLevel 0 and Consumer-B with priorityLevel 1 then broker will dispatch
+ messages to only consumer-A until it runs out permit and then broker starts dispatching messages to Consumer-B.
+
+ <pre>
+ Consumer PriorityLevel Permits
+ C1       0             2
+ C2       0             1
+ C3       0             1
+ C4       1             2
+ C5       1             1
+ Order in which broker dispatches messages to consumers: C1, C2, C3, C1, C4, C5, C4
+ </pre></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>priorityLevel</code> - </dd>
+</dl>
+</li>
+</ul>
+<a name="property-java.lang.String-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>property</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a>&nbsp;property(String&nbsp;key,
+                         String&nbsp;value)</pre>
+<div class="block">Set a name/value property with this consumer.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>key</code> - </dd>
+<dd><code>value</code> - </dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+</dl>
+</li>
+</ul>
+<a name="properties-java.util.Map-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>properties</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a>&nbsp;properties(Map&lt;String,String&gt;&nbsp;properties)</pre>
+<div class="block">Add all the properties in the provided map</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>properties</code> - </dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/pulsar/client/api/ConsumerBuilder.html" target="_top">Frames</a></li>
+<li><a href="ConsumerBuilder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/content/api/client/org/apache/pulsar/client/api/ConsumerConfiguration.html b/content/api/client/org/apache/pulsar/client/api/ConsumerConfiguration.html
index 0d0e272..3e9e668 100644
--- a/content/api/client/org/apache/pulsar/client/api/ConsumerConfiguration.html
+++ b/content/api/client/org/apache/pulsar/client/api/ConsumerConfiguration.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":42,"i1":42,"i2":42,"i3":42,"i4":42,"i5":42,"i6":42,"i7":42,"i8":42,"i9":42,"i10":42,"i11":42,"i12":42,"i13":42,"i14":42,"i15":42,"i16":42,"i17":42,"i18":42,"i19":42,"i20":42,"i21":42,"i22":42,"i23":42,"i24":42};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -47,7 +47,7 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/pulsar/client/api/ConsumerCryptoFailureAction.html" title="enum in org.apache.pulsar.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -110,8 +110,12 @@ var activeTableTab = "activeTableTab";
 <dd>Serializable</dd>
 </dl>
 <hr>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">Use <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#newConsumer--"><code>PulsarClient.newConsumer()</code></a> to build and configure a <a href="../../../../../org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api"><code>Consumer</code></a> instance</span></div>
+</div>
 <br>
-<pre>public class <span class="typeNameLabel">ConsumerConfiguration</span>
+<pre>@Deprecated
+public class <span class="typeNameLabel">ConsumerConfiguration</span>
 extends Object
 implements Serializable</pre>
 <div class="block">Class specifying the configuration of a consumer. In Exclusive subscription, only a single consumer is allowed to
@@ -139,7 +143,9 @@ implements Serializable</pre>
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html#ConsumerConfiguration--">ConsumerConfiguration</a></span>()</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html#ConsumerConfiguration--">ConsumerConfiguration</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -151,105 +157,137 @@ implements Serializable</pre>
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="t [...]
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html#getAckTimeoutMillis--">getAckTimeoutMillis</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html#getAckTimeoutMillis--">getAckTimeoutMillis</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ConsumerEventListener.html" title="interface in org.apache.pulsar.client.api">ConsumerEventListener</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html#getConsumerEventListener--">getConsumerEventListener</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html#getConsumerEventListener--">getConsumerEventListener</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html#getConsumerName--">getConsumerName</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html#getConsumerName--">getConsumerName</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ConsumerCryptoFailureAction.html" title="enum in org.apache.pulsar.client.api">ConsumerCryptoFailureAction</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html#getCryptoFailureAction--">getCryptoFailureAction</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html#getCryptoFailureAction--">getCryptoFailureAction</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api">CryptoKeyReader</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html#getCryptoKeyReader--">getCryptoKeyReader</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html#getCryptoKeyReader--">getCryptoKeyReader</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html#getMaxTotalReceiverQueueSizeAcrossPartitions--">getMaxTotalReceiverQueueSizeAcrossPartitions</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html#getMaxTotalReceiverQueueSizeAcrossPartitions--">getMaxTotalReceiverQueueSizeAcrossPartitions</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/MessageListener.html" title="interface in org.apache.pulsar.client.api">MessageListener</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html#getMessageListener--">getMessageListener</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html#getMessageListener--">getMessageListener</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i7" class="rowColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html#getPriorityLevel--">getPriorityLevel</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html#getPriorityLevel--">getPriorityLevel</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i8" class="altColor">
 <td class="colFirst"><code>Map&lt;String,String&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html#getProperties--">getProperties</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html#getProperties--">getProperties</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i9" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html#getReadCompacted--">getReadCompacted</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html#getReadCompacted--">getReadCompacted</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i10" class="altColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html#getReceiverQueueSize--">getReceiverQueueSize</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html#getReceiverQueueSize--">getReceiverQueueSize</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i11" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/SubscriptionType.html" title="enum in org.apache.pulsar.client.api">SubscriptionType</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html#getSubscriptionType--">getSubscriptionType</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html#getSubscriptionType--">getSubscriptionType</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i12" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html#setAckTimeout-long-java.util.concurrent.TimeUnit-">setAckTimeout</a></span>(long&nbsp;ackTimeout,
              TimeUnit&nbsp;timeUnit)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the timeout for unacked messages, truncated to the nearest millisecond.</div>
 </td>
 </tr>
 <tr id="i13" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html#setConsumerEventListener-org.apache.pulsar.client.api.ConsumerEventListener-">setConsumerEventListener</a></span>(<a href="../../../../../org/apache/pulsar/client/api/ConsumerEventListener.html" title="interface in org.apache.pulsar.client.api">ConsumerEventListener</a>&nbsp;listener)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Sets a <a href="../../../../../org/apache/pulsar/client/api/ConsumerEventListener.html" title="interface in org.apache.pulsar.client.api"><code>ConsumerEventListener</code></a> for the consumer.</div>
 </td>
 </tr>
 <tr id="i14" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html#setConsumerName-java.lang.String-">setConsumerName</a></span>(String&nbsp;consumerName)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the consumer name.</div>
 </td>
 </tr>
 <tr id="i15" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html#setCryptoFailureAction-org.apache.pulsar.client.api.ConsumerCryptoFailureAction-">setCryptoFailureAction</a></span>(<a href="../../../../../org/apache/pulsar/client/api/ConsumerCryptoFailureAction.html" title="enum in org.apache.pulsar.client.api">ConsumerCryptoFailureAction</a>&nbsp;action)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Sets the ConsumerCryptoFailureAction to the value specified</div>
 </td>
 </tr>
 <tr id="i16" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html#setCryptoKeyReader-org.apache.pulsar.client.api.CryptoKeyReader-">setCryptoKeyReader</a></span>(<a href="../../../../../org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api">CryptoKeyReader</a>&nbsp;cryptoKeyReader)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Sets a <a href="../../../../../org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api"><code>CryptoKeyReader</code></a></div>
 </td>
 </tr>
 <tr id="i17" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html#setMaxTotalReceiverQueueSizeAcrossPartitions-int-">setMaxTotalReceiverQueueSizeAcrossPartitions</a></span>(int&nbsp;maxTotalReceiverQueueSizeAcrossPartitions)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the max total receiver queue size across partitons.</div>
 </td>
 </tr>
 <tr id="i18" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html#setMessageListener-org.apache.pulsar.client.api.MessageListener-">setMessageListener</a></span>(<a href="../../../../../org/apache/pulsar/client/api/MessageListener.html" title="interface in org.apache.pulsar.client.api">MessageListener</a>&nbsp;messageListener)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Sets a <a href="../../../../../org/apache/pulsar/client/api/MessageListener.html" title="interface in org.apache.pulsar.client.api"><code>MessageListener</code></a> for the consumer</div>
 </td>
 </tr>
 <tr id="i19" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html#setPriorityLevel-int-">setPriorityLevel</a></span>(int&nbsp;priorityLevel)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Sets priority level for the shared subscription consumers to which broker gives more priority while dispatching
  messages.</div>
 </td>
@@ -257,6 +295,7 @@ implements Serializable</pre>
 <tr id="i20" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html#setProperties-java.util.Map-">setProperties</a></span>(Map&lt;String,String&gt;&nbsp;properties)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Add all the properties in the provided map</div>
 </td>
 </tr>
@@ -264,12 +303,14 @@ implements Serializable</pre>
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html#setProperty-java.lang.String-java.lang.String-">setProperty</a></span>(String&nbsp;key,
            String&nbsp;value)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set a name/value property with this consumer.</div>
 </td>
 </tr>
 <tr id="i22" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html#setReadCompacted-boolean-">setReadCompacted</a></span>(boolean&nbsp;readCompacted)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">If enabled, the consumer will read messages from the compacted topic rather than reading the full message
  backlog of the topic.</div>
 </td>
@@ -277,12 +318,14 @@ implements Serializable</pre>
 <tr id="i23" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html#setReceiverQueueSize-int-">setReceiverQueueSize</a></span>(int&nbsp;receiverQueueSize)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Sets the size of the consumer receive queue.</div>
 </td>
 </tr>
 <tr id="i24" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html#setSubscriptionType-org.apache.pulsar.client.api.SubscriptionType-">setSubscriptionType</a></span>(<a href="../../../../../org/apache/pulsar/client/api/SubscriptionType.html" title="enum in org.apache.pulsar.client.api">SubscriptionType</a>&nbsp;subscriptionType)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Select the subscription type to be used when subscribing to the topic.</div>
 </td>
 </tr>
@@ -315,6 +358,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>ConsumerConfiguration</h4>
 <pre>public&nbsp;ConsumerConfiguration()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 </li>
@@ -332,6 +376,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>getAckTimeoutMillis</h4>
 <pre>public&nbsp;long&nbsp;getAckTimeoutMillis()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the configured timeout in milliseconds for unacked messages.</dd>
@@ -346,6 +391,7 @@ implements Serializable</pre>
 <h4>setAckTimeout</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a>&nbsp;setAckTimeout(long&nbsp;ackTimeout,
                                            TimeUnit&nbsp;timeUnit)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the timeout for unacked messages, truncated to the nearest millisecond. The timeout needs to be greater than
  10 seconds.</div>
 <dl>
@@ -364,6 +410,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>getSubscriptionType</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/SubscriptionType.html" title="enum in org.apache.pulsar.client.api">SubscriptionType</a>&nbsp;getSubscriptionType()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the configured subscription type</dd>
@@ -377,6 +424,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>setSubscriptionType</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a>&nbsp;setSubscriptionType(<a href="../../../../../org/apache/pulsar/client/api/SubscriptionType.html" title="enum in org.apache.pulsar.client.api">SubscriptionType</a>&nbsp;subscriptionType)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Select the subscription type to be used when subscribing to the topic.
  <p>
  Default is <a href="../../../../../org/apache/pulsar/client/api/SubscriptionType.html#Exclusive"><code>SubscriptionType.Exclusive</code></a></div>
@@ -393,6 +441,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>getMessageListener</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/MessageListener.html" title="interface in org.apache.pulsar.client.api">MessageListener</a>&nbsp;getMessageListener()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the configured <a href="../../../../../org/apache/pulsar/client/api/MessageListener.html" title="interface in org.apache.pulsar.client.api"><code>MessageListener</code></a> for the consumer</dd>
@@ -406,6 +455,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>setMessageListener</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a>&nbsp;setMessageListener(<a href="../../../../../org/apache/pulsar/client/api/MessageListener.html" title="interface in org.apache.pulsar.client.api">MessageListener</a>&nbsp;messageListener)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Sets a <a href="../../../../../org/apache/pulsar/client/api/MessageListener.html" title="interface in org.apache.pulsar.client.api"><code>MessageListener</code></a> for the consumer
  <p>
  When a <a href="../../../../../org/apache/pulsar/client/api/MessageListener.html" title="interface in org.apache.pulsar.client.api"><code>MessageListener</code></a> is set, application will receive messages through it. Calls to
@@ -423,6 +473,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>getConsumerEventListener</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/ConsumerEventListener.html" title="interface in org.apache.pulsar.client.api">ConsumerEventListener</a>&nbsp;getConsumerEventListener()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>this configured <a href="../../../../../org/apache/pulsar/client/api/ConsumerEventListener.html" title="interface in org.apache.pulsar.client.api"><code>ConsumerEventListener</code></a> for the consumer.</dd>
@@ -440,6 +491,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>setConsumerEventListener</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a>&nbsp;setConsumerEventListener(<a href="../../../../../org/apache/pulsar/client/api/ConsumerEventListener.html" title="interface in org.apache.pulsar.client.api">ConsumerEventListener</a>&nbsp;listener)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Sets a <a href="../../../../../org/apache/pulsar/client/api/ConsumerEventListener.html" title="interface in org.apache.pulsar.client.api"><code>ConsumerEventListener</code></a> for the consumer.
 
  <p>The consumer group listener is used for receiving consumer state change in a consumer group for failover
@@ -463,6 +515,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>getReceiverQueueSize</h4>
 <pre>public&nbsp;int&nbsp;getReceiverQueueSize()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the configure receiver queue size value</dd>
@@ -476,6 +529,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>getMaxTotalReceiverQueueSizeAcrossPartitions</h4>
 <pre>public&nbsp;int&nbsp;getMaxTotalReceiverQueueSizeAcrossPartitions()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the configured max total receiver queue size across partitions</dd>
@@ -489,6 +543,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>setMaxTotalReceiverQueueSizeAcrossPartitions</h4>
 <pre>public&nbsp;void&nbsp;setMaxTotalReceiverQueueSizeAcrossPartitions(int&nbsp;maxTotalReceiverQueueSizeAcrossPartitions)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the max total receiver queue size across partitons.
  <p>
  This setting will be used to reduce the receiver queue size for individual partitions
@@ -506,6 +561,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>getCryptoKeyReader</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api">CryptoKeyReader</a>&nbsp;getCryptoKeyReader()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the CryptoKeyReader</dd>
@@ -519,6 +575,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>setCryptoKeyReader</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a>&nbsp;setCryptoKeyReader(<a href="../../../../../org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api">CryptoKeyReader</a>&nbsp;cryptoKeyReader)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Sets a <a href="../../../../../org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api"><code>CryptoKeyReader</code></a></div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -533,6 +590,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>setCryptoFailureAction</h4>
 <pre>public&nbsp;void&nbsp;setCryptoFailureAction(<a href="../../../../../org/apache/pulsar/client/api/ConsumerCryptoFailureAction.html" title="enum in org.apache.pulsar.client.api">ConsumerCryptoFailureAction</a>&nbsp;action)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Sets the ConsumerCryptoFailureAction to the value specified</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -547,6 +605,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>getCryptoFailureAction</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/ConsumerCryptoFailureAction.html" title="enum in org.apache.pulsar.client.api">ConsumerCryptoFailureAction</a>&nbsp;getCryptoFailureAction()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>The ConsumerCryptoFailureAction</dd>
@@ -560,6 +619,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>setReceiverQueueSize</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a>&nbsp;setReceiverQueueSize(int&nbsp;receiverQueueSize)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Sets the size of the consumer receive queue.
  <p>
  The consumer receive queue controls how many messages can be accumulated by the <a href="../../../../../org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api"><code>Consumer</code></a> before the
@@ -594,6 +654,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>getConsumerName</h4>
 <pre>public&nbsp;String&nbsp;getConsumerName()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the consumer name</dd>
@@ -607,6 +668,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>setConsumerName</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a>&nbsp;setConsumerName(String&nbsp;consumerName)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the consumer name.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -621,6 +683,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>getPriorityLevel</h4>
 <pre>public&nbsp;int&nbsp;getPriorityLevel()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 <a name="setPriorityLevel-int-">
@@ -630,6 +693,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>setPriorityLevel</h4>
 <pre>public&nbsp;void&nbsp;setPriorityLevel(int&nbsp;priorityLevel)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Sets priority level for the shared subscription consumers to which broker gives more priority while dispatching
  messages. Here, broker follows descending priorities. (eg: 0=max-priority, 1, 2,..) </br>
  In Shared subscription mode, broker will first dispatch messages to max priority-level consumers if they have
@@ -659,6 +723,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>getReadCompacted</h4>
 <pre>public&nbsp;boolean&nbsp;getReadCompacted()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 <a name="setReadCompacted-boolean-">
@@ -668,6 +733,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>setReadCompacted</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a>&nbsp;setReadCompacted(boolean&nbsp;readCompacted)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">If enabled, the consumer will read messages from the compacted topic rather than reading the full message
  backlog of the topic. This means that, if the topic has been compacted, the consumer will only see the latest
  value for each key in the topic, up until the point in the topic message backlog that has been compacted.
@@ -690,6 +756,7 @@ implements Serializable</pre>
 <h4>setProperty</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a>&nbsp;setProperty(String&nbsp;key,
                                          String&nbsp;value)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set a name/value property with this consumer.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -706,6 +773,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>setProperties</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a>&nbsp;setProperties(Map&lt;String,String&gt;&nbsp;properties)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Add all the properties in the provided map</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -721,6 +789,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>getProperties</h4>
 <pre>public&nbsp;Map&lt;String,String&gt;&nbsp;getProperties()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 </li>
@@ -750,7 +819,7 @@ implements Serializable</pre>
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/pulsar/client/api/ConsumerCryptoFailureAction.html" title="enum in org.apache.pulsar.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
diff --git a/content/api/client/org/apache/pulsar/client/api/CryptoKeyReader.html b/content/api/client/org/apache/pulsar/client/api/CryptoKeyReader.html
index 22e6805..03217d0 100644
--- a/content/api/client/org/apache/pulsar/client/api/CryptoKeyReader.html
+++ b/content/api/client/org/apache/pulsar/client/api/CryptoKeyReader.html
@@ -126,7 +126,9 @@ var activeTableTab = "activeTableTab";
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/EncryptionKeyInfo.html" title="class in org.apache.pulsar.client.api">EncryptionKeyInfo</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/CryptoKeyReader.html#getPublicKey-java.lang.String-java.util.Map-">getPublicKey</a></span>(String&nbsp;keyName,
-            Map&lt;String,String&gt;&nbsp;metadata)</code>&nbsp;</td>
+            Map&lt;String,String&gt;&nbsp;metadata)</code>
+<div class="block">Return the encryption key corresponding to the key name in the argument</div>
+</td>
 </tr>
 </table>
 </li>
@@ -151,6 +153,19 @@ var activeTableTab = "activeTableTab";
 <h4>getPublicKey</h4>
 <pre><a href="../../../../../org/apache/pulsar/client/api/EncryptionKeyInfo.html" title="class in org.apache.pulsar.client.api">EncryptionKeyInfo</a>&nbsp;getPublicKey(String&nbsp;keyName,
                                Map&lt;String,String&gt;&nbsp;metadata)</pre>
+<div class="block">Return the encryption key corresponding to the key name in the argument
+ <p>
+ This method should be implemented to return the EncryptionKeyInfo. This method will be called at the time of
+ producer creation as well as consumer receiving messages. Hence, application should not make any blocking calls
+ within the implementation.
+ <p></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>keyName</code> - Unique name to identify the key</dd>
+<dd><code>metadata</code> - Additional information needed to identify the key</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>EncryptionKeyInfo with details about the public key</dd>
+</dl>
 </li>
 </ul>
 <a name="getPrivateKey-java.lang.String-java.util.Map-">
@@ -161,6 +176,13 @@ var activeTableTab = "activeTableTab";
 <h4>getPrivateKey</h4>
 <pre><a href="../../../../../org/apache/pulsar/client/api/EncryptionKeyInfo.html" title="class in org.apache.pulsar.client.api">EncryptionKeyInfo</a>&nbsp;getPrivateKey(String&nbsp;keyName,
                                 Map&lt;String,String&gt;&nbsp;metadata)</pre>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>keyName</code> - Unique name to identify the key</dd>
+<dd><code>metadata</code> - Additional information needed to identify the key</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>byte array of the private key value</dd>
+</dl>
 </li>
 </ul>
 </li>
diff --git a/content/api/client/org/apache/pulsar/client/api/MessageRouter.html b/content/api/client/org/apache/pulsar/client/api/MessageRouter.html
index dbddfa7..2228c23 100644
--- a/content/api/client/org/apache/pulsar/client/api/MessageRouter.html
+++ b/content/api/client/org/apache/pulsar/client/api/MessageRouter.html
@@ -48,7 +48,7 @@ var activeTableTab = "activeTableTab";
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/pulsar/client/api/MessageListener.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/pulsar/client/api/MessageRouter.html" target="_top">Frames</a></li>
@@ -218,7 +218,7 @@ default&nbsp;int&nbsp;choosePartition(<a href="../../../../../org/apache/pulsar/
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/pulsar/client/api/MessageListener.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/pulsar/client/api/MessageRouter.html" target="_top">Frames</a></li>
diff --git a/content/api/client/org/apache/pulsar/client/api/MessageRoutingMode.html b/content/api/client/org/apache/pulsar/client/api/MessageRoutingMode.html
new file mode 100644
index 0000000..6e1fe9f
--- /dev/null
+++ b/content/api/client/org/apache/pulsar/client/api/MessageRoutingMode.html
@@ -0,0 +1,350 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>MessageRoutingMode (Pulsar Client Java API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="MessageRoutingMode (Pulsar Client Java API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":9,"i1":9};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/pulsar/client/api/MessageRouter.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/pulsar/client/api/MessageRoutingMode.html" target="_top">Frames</a></li>
+<li><a href="MessageRoutingMode.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.pulsar.client.api</div>
+<h2 title="Enum MessageRoutingMode" class="title">Enum MessageRoutingMode</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li>Object</li>
+<li>
+<ul class="inheritance">
+<li>Enum&lt;<a href="../../../../../org/apache/pulsar/client/api/MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api">MessageRoutingMode</a>&gt;</li>
+<li>
+<ul class="inheritance">
+<li>org.apache.pulsar.client.api.MessageRoutingMode</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd>Serializable, Comparable&lt;<a href="../../../../../org/apache/pulsar/client/api/MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api">MessageRoutingMode</a>&gt;</dd>
+</dl>
+<hr>
+<br>
+<pre>public enum <span class="typeNameLabel">MessageRoutingMode</span>
+extends Enum&lt;<a href="../../../../../org/apache/pulsar/client/api/MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api">MessageRoutingMode</a>&gt;</pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== ENUM CONSTANT SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.summary">
+<!--   -->
+</a>
+<h3>Enum Constant Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Enum Constant Summary table, listing enum constants, and an explanation">
+<caption><span>Enum Constants</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Enum Constant and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/MessageRoutingMode.html#CustomPartition">CustomPartition</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/MessageRoutingMode.html#RoundRobinPartition">RoundRobinPartition</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/MessageRoutingMode.html#SinglePartition">SinglePartition</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/pulsar/client/api/MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api">MessageRoutingMode</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/MessageRoutingMode.html#valueOf-java.lang.String-">valueOf</a></span>(String&nbsp;name)</code>
+<div class="block">Returns the enum constant of this type with the specified name.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/pulsar/client/api/MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api">MessageRoutingMode</a>[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/MessageRoutingMode.html#values--">values</a></span>()</code>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.</div>
+</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.Enum">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;Enum</h3>
+<code>clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf</code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;Object</h3>
+<code>getClass, notify, notifyAll, wait, wait, wait</code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ ENUM CONSTANT DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="enum.constant.detail">
+<!--   -->
+</a>
+<h3>Enum Constant Detail</h3>
+<a name="SinglePartition">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SinglePartition</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/pulsar/client/api/MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api">MessageRoutingMode</a> SinglePartition</pre>
+</li>
+</ul>
+<a name="RoundRobinPartition">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>RoundRobinPartition</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/pulsar/client/api/MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api">MessageRoutingMode</a> RoundRobinPartition</pre>
+</li>
+</ul>
+<a name="CustomPartition">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>CustomPartition</h4>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/pulsar/client/api/MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api">MessageRoutingMode</a> CustomPartition</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="values--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>values</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/pulsar/client/api/MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api">MessageRoutingMode</a>[]&nbsp;values()</pre>
+<div class="block">Returns an array containing the constants of this enum type, in
+the order they are declared.  This method may be used to iterate
+over the constants as follows:
+<pre>
+for (MessageRoutingMode c : MessageRoutingMode.values())
+&nbsp;   System.out.println(c);
+</pre></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>an array containing the constants of this enum type, in the order they are declared</dd>
+</dl>
+</li>
+</ul>
+<a name="valueOf-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>valueOf</h4>
+<pre>public static&nbsp;<a href="../../../../../org/apache/pulsar/client/api/MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api">MessageRoutingMode</a>&nbsp;valueOf(String&nbsp;name)</pre>
+<div class="block">Returns the enum constant of this type with the specified name.
+The string must match <i>exactly</i> an identifier used to declare an
+enum constant in this type.  (Extraneous whitespace characters are 
+not permitted.)</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>name</code> - the name of the enum constant to be returned.</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the enum constant with the specified name</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code>IllegalArgumentException</code> - if this enum type has no constant with the specified name</dd>
+<dd><code>NullPointerException</code> - if the argument is null</dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/pulsar/client/api/MessageRouter.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/pulsar/client/api/MessageRoutingMode.html" target="_top">Frames</a></li>
+<li><a href="MessageRoutingMode.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#enum.constant.summary">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#enum.constant.detail">Enum Constants</a>&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/content/api/client/org/apache/pulsar/client/api/Producer.html b/content/api/client/org/apache/pulsar/client/api/Producer.html
index becd2a6..fe8fabc 100644
--- a/content/api/client/org/apache/pulsar/client/api/Producer.html
+++ b/content/api/client/org/apache/pulsar/client/api/Producer.html
@@ -47,8 +47,8 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/pulsar/client/api/MessageRouter.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/pulsar/client/api/Producer.html" target="_top">Frames</a></li>
@@ -433,8 +433,8 @@ extends Closeable</pre>
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/pulsar/client/api/MessageRouter.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/pulsar/client/api/Producer.html" target="_top">Frames</a></li>
diff --git a/content/api/client/org/apache/pulsar/client/api/ProducerBuilder.html b/content/api/client/org/apache/pulsar/client/api/ProducerBuilder.html
new file mode 100644
index 0000000..5a3d908
--- /dev/null
+++ b/content/api/client/org/apache/pulsar/client/api/ProducerBuilder.html
@@ -0,0 +1,720 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>ProducerBuilder (Pulsar Client Java API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ProducerBuilder (Pulsar Client Java API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/pulsar/client/api/ProducerBuilder.html" target="_top">Frames</a></li>
+<li><a href="ProducerBuilder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.pulsar.client.api</div>
+<h2 title="Interface ProducerBuilder" class="title">Interface ProducerBuilder</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd>Cloneable, Serializable</dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">ProducerBuilder</span>
+extends Serializable, Cloneable</pre>
+<div class="block"><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api"><code>ProducerBuilder</code></a> is used to configure and create instances of <a href="../../../../../org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api"><code>Producer</code></a>.</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#newProducer--"><code>PulsarClient.newProducer()</code></a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html#addEncryptionKey-java.lang.String-">addEncryptionKey</a></span>(String&nbsp;key)</code>
+<div class="block">Add public encryption key, used by producer to encrypt the data key.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html#batchingMaxMessages-int-">batchingMaxMessages</a></span>(int&nbsp;batchMessagesMaxMessagesPerBatch)</code>
+<div class="block">Set the maximum number of messages permitted in a batch.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html#batchingMaxPublishDelay-long-java.util.concurrent.TimeUnit-">batchingMaxPublishDelay</a></span>(long&nbsp;batchDelay,
+                       TimeUnit&nbsp;timeUnit)</code>
+<div class="block">Set the time period within which the messages sent will be batched <i>default: 10ms</i> if batch messages are
+ enabled.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html#blockIfQueueFull-boolean-">blockIfQueueFull</a></span>(boolean&nbsp;blockIfQueueFull)</code>
+<div class="block">Set whether the <a href="../../../../../org/apache/pulsar/client/api/Producer.html#send-byte:A-"><code>Producer.send(byte[])</code></a> and <a href="../../../../../org/apache/pulsar/client/api/Producer.html#sendAsync-byte:A-"><code>Producer.sendAsync(byte[])</code></a> operations should block when the outgoing
+ message queue is full.</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html#clone--">clone</a></span>()</code>
+<div class="block">Create a copy of the current <a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api"><code>ProducerBuilder</code></a>.</div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html#compressionType-org.apache.pulsar.client.api.CompressionType-">compressionType</a></span>(<a href="../../../../../org/apache/pulsar/client/api/CompressionType.html" title="enum in org.apache.pulsar.client.api">CompressionType</a>&nbsp;compressionType)</code>
+<div class="block">Set the compression type for the producer.</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api">Producer</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html#create--">create</a></span>()</code>
+<div class="block">Finalize the creation of the <a href="../../../../../org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api"><code>Producer</code></a> instance.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>CompletableFuture&lt;<a href="../../../../../org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api">Producer</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html#createAsync--">createAsync</a></span>()</code>
+<div class="block">Finalize the creation of the <a href="../../../../../org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api"><code>Producer</code></a> instance in asynchronous mode.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html#cryptoFailureAction-org.apache.pulsar.client.api.ProducerCryptoFailureAction-">cryptoFailureAction</a></span>(<a href="../../../../../org/apache/pulsar/client/api/ProducerCryptoFailureAction.html" title="enum in org.apache.pulsar.client.api">ProducerCryptoFailureAction</a>&nbsp;action)</code>
+<div class="block">Sets the ProducerCryptoFailureAction to the value specified</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html#cryptoKeyReader-org.apache.pulsar.client.api.CryptoKeyReader-">cryptoKeyReader</a></span>(<a href="../../../../../org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api">CryptoKeyReader</a>&nbsp;cryptoKeyReader)</code>
+<div class="block">Sets a <a href="../../../../../org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api"><code>CryptoKeyReader</code></a></div>
+</td>
+</tr>
+<tr id="i10" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html#enableBatching-boolean-">enableBatching</a></span>(boolean&nbsp;enableBatching)</code>
+<div class="block">Control whether automatic batching of messages is enabled for the producer.</div>
+</td>
+</tr>
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html#initialSequenceId-long-">initialSequenceId</a></span>(long&nbsp;initialSequenceId)</code>
+<div class="block">Set the baseline for the sequence ids for messages published by the producer.</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html#maxPendingMessages-int-">maxPendingMessages</a></span>(int&nbsp;maxPendingMessages)</code>
+<div class="block">Set the max size of the queue holding the messages pending to receive an acknowledgment from the broker.</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html#maxPendingMessagesAcrossPartitions-int-">maxPendingMessagesAcrossPartitions</a></span>(int&nbsp;maxPendingMessagesAcrossPartitions)</code>
+<div class="block">Set the number of max pending messages across all the partitions</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html#messageRouter-org.apache.pulsar.client.api.MessageRouter-">messageRouter</a></span>(<a href="../../../../../org/apache/pulsar/client/api/MessageRouter.html" title="interface in org.apache.pulsar.client.api">MessageRouter</a>&nbsp;messageRouter)</code>
+<div class="block">Set a custom message routing policy by passing an implementation of MessageRouter</div>
+</td>
+</tr>
+<tr id="i15" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html#messageRoutingMode-org.apache.pulsar.client.api.MessageRoutingMode-">messageRoutingMode</a></span>(<a href="../../../../../org/apache/pulsar/client/api/MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api">MessageRoutingMode</a>&nbsp;messageRouteMode)</code>
+<div class="block">Set the message routing mode for the partitioned producer</div>
+</td>
+</tr>
+<tr id="i16" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html#producerName-java.lang.String-">producerName</a></span>(String&nbsp;producerName)</code>
+<div class="block">Specify a name for the producer</div>
+</td>
+</tr>
+<tr id="i17" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html#properties-java.util.Map-">properties</a></span>(Map&lt;String,String&gt;&nbsp;properties)</code>
+<div class="block">Add all the properties in the provided map</div>
+</td>
+</tr>
+<tr id="i18" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html#property-java.lang.String-java.lang.String-">property</a></span>(String&nbsp;key,
+        String&nbsp;value)</code>
+<div class="block">Set a name/value property with this producer.</div>
+</td>
+</tr>
+<tr id="i19" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html#sendTimeout-int-java.util.concurrent.TimeUnit-">sendTimeout</a></span>(int&nbsp;sendTimeout,
+           TimeUnit&nbsp;unit)</code>
+<div class="block">Set the send timeout <i>(default: 30 seconds)</i></div>
+</td>
+</tr>
+<tr id="i20" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html#topic-java.lang.String-">topic</a></span>(String&nbsp;topicName)</code>
+<div class="block">Specify the topic this producer will be publishing on.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="create--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>create</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api">Producer</a>&nbsp;create()
+         throws <a href="../../../../../org/apache/pulsar/client/api/PulsarClientException.html" title="class in org.apache.pulsar.client.api">PulsarClientException</a></pre>
+<div class="block">Finalize the creation of the <a href="../../../../../org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api"><code>Producer</code></a> instance.
+ <p>
+ This method will block until the producer is created successfully.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the producer instance</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../../org/apache/pulsar/client/api/PulsarClientException.ProducerBusyException.html" title="class in org.apache.pulsar.client.api">PulsarClientException.ProducerBusyException</a></code> - if a producer with the same "producer name" is already connected to the topic</dd>
+<dd><code><a href="../../../../../org/apache/pulsar/client/api/PulsarClientException.html" title="class in org.apache.pulsar.client.api">PulsarClientException</a></code> - if the producer creation fails</dd>
+</dl>
+</li>
+</ul>
+<a name="createAsync--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createAsync</h4>
+<pre>CompletableFuture&lt;<a href="../../../../../org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api">Producer</a>&gt;&nbsp;createAsync()</pre>
+<div class="block">Finalize the creation of the <a href="../../../../../org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api"><code>Producer</code></a> instance in asynchronous mode.
+ <p>
+ This method will return a <code>CompletableFuture</code> that can be used to access the instance when it's ready.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a future that will yield the created producer instance</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../../org/apache/pulsar/client/api/PulsarClientException.ProducerBusyException.html" title="class in org.apache.pulsar.client.api">PulsarClientException.ProducerBusyException</a></code> - if a producer with the same "producer name" is already connected to the topic</dd>
+<dd><code><a href="../../../../../org/apache/pulsar/client/api/PulsarClientException.html" title="class in org.apache.pulsar.client.api">PulsarClientException</a></code> - if the producer creation fails</dd>
+</dl>
+</li>
+</ul>
+<a name="clone--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>clone</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a>&nbsp;clone()</pre>
+<div class="block">Create a copy of the current <a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api"><code>ProducerBuilder</code></a>.
+ <p>
+ Cloning the builder can be used to share an incomplete configuration and specialize it multiple times. For
+ example:
+
+ <pre>
+ ProducerBuilder builder = client.newProducer().sendTimeout(10, TimeUnit.SECONDS).blockIfQueueFull(true);
+
+ Producer producer1 = builder.clone().topic(TOPIC_1).create();
+ Producer producer2 = builder.clone().topic(TOPIC_2).create();
+ </pre></div>
+</li>
+</ul>
+<a name="topic-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>topic</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a>&nbsp;topic(String&nbsp;topicName)</pre>
+<div class="block">Specify the topic this producer will be publishing on.
+ <p>
+ This argument is required when constructing the produce.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>topicName</code> - </dd>
+</dl>
+</li>
+</ul>
+<a name="producerName-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>producerName</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a>&nbsp;producerName(String&nbsp;producerName)</pre>
+<div class="block">Specify a name for the producer
+ <p>
+ If not assigned, the system will generate a globally unique name which can be access with
+ <a href="../../../../../org/apache/pulsar/client/api/Producer.html#getProducerName--"><code>Producer.getProducerName()</code></a>.
+ <p>
+ When specifying a name, it is up to the user to ensure that, for a given topic, the producer name is unique
+ across all Pulsar's clusters. Brokers will enforce that only a single producer a given name can be publishing on
+ a topic.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>producerName</code> - the custom name to use for the producer</dd>
+</dl>
+</li>
+</ul>
+<a name="sendTimeout-int-java.util.concurrent.TimeUnit-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>sendTimeout</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a>&nbsp;sendTimeout(int&nbsp;sendTimeout,
+                            TimeUnit&nbsp;unit)</pre>
+<div class="block">Set the send timeout <i>(default: 30 seconds)</i>
+ <p>
+ If a message is not acknowledged by the server before the sendTimeout expires, an error will be reported.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>sendTimeout</code> - the send timeout</dd>
+<dd><code>unit</code> - the time unit of the <code>sendTimeout</code></dd>
+</dl>
+</li>
+</ul>
+<a name="maxPendingMessages-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>maxPendingMessages</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a>&nbsp;maxPendingMessages(int&nbsp;maxPendingMessages)</pre>
+<div class="block">Set the max size of the queue holding the messages pending to receive an acknowledgment from the broker.
+ <p>
+ When the queue is full, by default, all calls to <a href="../../../../../org/apache/pulsar/client/api/Producer.html#send-byte:A-"><code>Producer.send(byte[])</code></a> and <a href="../../../../../org/apache/pulsar/client/api/Producer.html#sendAsync-byte:A-"><code>Producer.sendAsync(byte[])</code></a> will fail
+ unless blockIfQueueFull is set to true. Use <code>#setBlockIfQueueFull</code> to change the blocking behavior.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>maxPendingMessages</code> - </dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+</dl>
+</li>
+</ul>
+<a name="maxPendingMessagesAcrossPartitions-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>maxPendingMessagesAcrossPartitions</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a>&nbsp;maxPendingMessagesAcrossPartitions(int&nbsp;maxPendingMessagesAcrossPartitions)</pre>
+<div class="block">Set the number of max pending messages across all the partitions
+ <p>
+ This setting will be used to lower the max pending messages for each partition
+ (<a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html#maxPendingMessages-int-"><code>maxPendingMessages(int)</code></a>), if the total exceeds the configured value.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>maxPendingMessagesAcrossPartitions</code> - </dd>
+</dl>
+</li>
+</ul>
+<a name="blockIfQueueFull-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>blockIfQueueFull</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a>&nbsp;blockIfQueueFull(boolean&nbsp;blockIfQueueFull)</pre>
+<div class="block">Set whether the <a href="../../../../../org/apache/pulsar/client/api/Producer.html#send-byte:A-"><code>Producer.send(byte[])</code></a> and <a href="../../../../../org/apache/pulsar/client/api/Producer.html#sendAsync-byte:A-"><code>Producer.sendAsync(byte[])</code></a> operations should block when the outgoing
+ message queue is full.
+ <p>
+ Default is <code>false</code>. If set to <code>false</code>, send operations will immediately fail with
+ <a href="../../../../../org/apache/pulsar/client/api/PulsarClientException.ProducerQueueIsFullError.html" title="class in org.apache.pulsar.client.api"><code>PulsarClientException.ProducerQueueIsFullError</code></a> when there is no space left in pending queue.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>blockIfQueueFull</code> - whether to block <a href="../../../../../org/apache/pulsar/client/api/Producer.html#send-byte:A-"><code>Producer.send(byte[])</code></a> and <a href="../../../../../org/apache/pulsar/client/api/Producer.html#sendAsync-byte:A-"><code>Producer.sendAsync(byte[])</code></a> operations on queue full</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+</dl>
+</li>
+</ul>
+<a name="messageRoutingMode-org.apache.pulsar.client.api.MessageRoutingMode-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>messageRoutingMode</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a>&nbsp;messageRoutingMode(<a href="../../../../../org/apache/pulsar/client/api/MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api">MessageRoutingMode</a>&nbsp;messageRouteMode)</pre>
+<div class="block">Set the message routing mode for the partitioned producer</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>mode</code> - </dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+</dl>
+</li>
+</ul>
+<a name="compressionType-org.apache.pulsar.client.api.CompressionType-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>compressionType</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a>&nbsp;compressionType(<a href="../../../../../org/apache/pulsar/client/api/CompressionType.html" title="enum in org.apache.pulsar.client.api">CompressionType</a>&nbsp;compressionType)</pre>
+<div class="block">Set the compression type for the producer.
+ <p>
+ By default, message payloads are not compressed. Supported compression types are:
+ <ul>
+ <li><code>CompressionType.LZ4</code></li>
+ <li><code>CompressionType.ZLIB</code></li>
+ </ul></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>compressionType</code> - </dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+</dl>
+</li>
+</ul>
+<a name="messageRouter-org.apache.pulsar.client.api.MessageRouter-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>messageRouter</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a>&nbsp;messageRouter(<a href="../../../../../org/apache/pulsar/client/api/MessageRouter.html" title="interface in org.apache.pulsar.client.api">MessageRouter</a>&nbsp;messageRouter)</pre>
+<div class="block">Set a custom message routing policy by passing an implementation of MessageRouter</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>messageRouter</code> - </dd>
+</dl>
+</li>
+</ul>
+<a name="enableBatching-boolean-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>enableBatching</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a>&nbsp;enableBatching(boolean&nbsp;enableBatching)</pre>
+<div class="block">Control whether automatic batching of messages is enabled for the producer. <i>default: false [No batching]</i>
+
+ When batching is enabled, multiple calls to Producer.sendAsync can result in a single batch to be sent to the
+ broker, leading to better throughput, especially when publishing small messages. If compression is enabled,
+ messages will be compressed at the batch level, leading to a much better compression ratio for similar headers or
+ contents.
+
+ When enabled default batch delay is set to 10 ms and default batch size is 1000 messages</div>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html#batchingMaxPublishDelay-long-java.util.concurrent.TimeUnit-"><code>batchingMaxPublishDelay(long, TimeUnit)</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="cryptoKeyReader-org.apache.pulsar.client.api.CryptoKeyReader-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>cryptoKeyReader</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a>&nbsp;cryptoKeyReader(<a href="../../../../../org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api">CryptoKeyReader</a>&nbsp;cryptoKeyReader)</pre>
+<div class="block">Sets a <a href="../../../../../org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api"><code>CryptoKeyReader</code></a></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>cryptoKeyReader</code> - CryptoKeyReader object</dd>
+</dl>
+</li>
+</ul>
+<a name="addEncryptionKey-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>addEncryptionKey</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a>&nbsp;addEncryptionKey(String&nbsp;key)</pre>
+<div class="block">Add public encryption key, used by producer to encrypt the data key.
+
+ At the time of producer creation, Pulsar client checks if there are keys added to encryptionKeys. If keys are
+ found, a callback getKey(String keyName) is invoked against each key to load the values of the key. Application
+ should implement this callback to return the key in pkcs8 format. If compression is enabled, message is encrypted
+ after compression. If batch messaging is enabled, the batched message is encrypted.</div>
+</li>
+</ul>
+<a name="cryptoFailureAction-org.apache.pulsar.client.api.ProducerCryptoFailureAction-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>cryptoFailureAction</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a>&nbsp;cryptoFailureAction(<a href="../../../../../org/apache/pulsar/client/api/ProducerCryptoFailureAction.html" title="enum in org.apache.pulsar.client.api">ProducerCryptoFailureAction</a>&nbsp;action)</pre>
+<div class="block">Sets the ProducerCryptoFailureAction to the value specified</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>The</code> - producer action</dd>
+</dl>
+</li>
+</ul>
+<a name="batchingMaxPublishDelay-long-java.util.concurrent.TimeUnit-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>batchingMaxPublishDelay</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a>&nbsp;batchingMaxPublishDelay(long&nbsp;batchDelay,
+                                        TimeUnit&nbsp;timeUnit)</pre>
+<div class="block">Set the time period within which the messages sent will be batched <i>default: 10ms</i> if batch messages are
+ enabled. If set to a non zero value, messages will be queued until this time interval or until</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>batchDelay</code> - the batch delay</dd>
+<dd><code>timeUnit</code> - the time unit of the <code>batchDelay</code></dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#batchingMaxMessages"><code>threshold is reached; all messages will be published as a single
+      batch message. The consumer will be delivered individual messages in the batch in the same order they were
+      enqueued</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="batchingMaxMessages-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>batchingMaxMessages</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a>&nbsp;batchingMaxMessages(int&nbsp;batchMessagesMaxMessagesPerBatch)</pre>
+<div class="block">Set the maximum number of messages permitted in a batch. <i>default: 1000</i> If set to a value greater than 1,
+ messages will be queued until this threshold is reached or batch interval has elapsed</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>batchMessagesMaxMessagesPerBatch</code> - maximum number of messages in a batch</dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#setBatchingMaxPublishDelay-long-java.util.concurrent.TimeUnit-"><code>All messages in batch will be published as
+      a single batch message. The consumer will be delivered individual messages in the batch in the same order
+      they were enqueued</code></a></dd>
+</dl>
+</li>
+</ul>
+<a name="initialSequenceId-long-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>initialSequenceId</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a>&nbsp;initialSequenceId(long&nbsp;initialSequenceId)</pre>
+<div class="block">Set the baseline for the sequence ids for messages published by the producer.
+ <p>
+ First message will be using (initialSequenceId + 1) as its sequence id and subsequent messages will be assigned
+ incremental sequence ids, if not otherwise specified.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>initialSequenceId</code> - </dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+</dl>
+</li>
+</ul>
+<a name="property-java.lang.String-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>property</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a>&nbsp;property(String&nbsp;key,
+                         String&nbsp;value)</pre>
+<div class="block">Set a name/value property with this producer.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>key</code> - </dd>
+<dd><code>value</code> - </dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+</dl>
+</li>
+</ul>
+<a name="properties-java.util.Map-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>properties</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a>&nbsp;properties(Map&lt;String,String&gt;&nbsp;properties)</pre>
+<div class="block">Add all the properties in the provided map</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>properties</code> - </dd>
+<dt><span class="returnLabel">Returns:</span></dt>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/pulsar/client/api/ProducerBuilder.html" target="_top">Frames</a></li>
+<li><a href="ProducerBuilder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/content/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html b/content/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html
index e227d75..6604f01 100644
--- a/content/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html
+++ b/content/api/client/org/apache/pulsar/client/api/ProducerConfiguration.html
@@ -17,7 +17,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":10,"i12":10,"i13":10,"i14":10,"i15":42,"i16":10,"i17":10,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10,"i23":10,"i24":10,"i25":10,"i26":10,"i27":10,"i28":10,"i29":10,"i30":10,"i31":10,"i32":10,"i33":10,"i34":10,"i35":10,"i36":10,"i37":10,"i38":10};
+var methods = {"i0":42,"i1":42,"i2":42,"i3":42,"i4":42,"i5":42,"i6":42,"i7":42,"i8":42,"i9":42,"i10":42,"i11":42,"i12":42,"i13":42,"i14":42,"i15":42,"i16":42,"i17":42,"i18":42,"i19":42,"i20":42,"i21":42,"i22":42,"i23":42,"i24":42,"i25":42,"i26":42,"i27":42,"i28":42,"i29":42,"i30":42,"i31":42,"i32":42,"i33":42,"i34":42,"i35":42,"i36":42,"i37":42,"i38":42};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -47,7 +47,7 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.HashingScheme.html" title="enum in org.apache.pulsar.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -110,8 +110,12 @@ var activeTableTab = "activeTableTab";
 <dd>Serializable</dd>
 </dl>
 <hr>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">use <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#newProducer--"><code>PulsarClient.newProducer()</code></a> to construct and configure a <a href="../../../../../org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api"><code>Producer</code></a> instance</span></div>
+</div>
 <br>
-<pre>public class <span class="typeNameLabel">ProducerConfiguration</span>
+<pre>@Deprecated
+public class <span class="typeNameLabel">ProducerConfiguration</span>
 extends Object
 implements Serializable</pre>
 <div class="block">Producer's configuration</div>
@@ -139,11 +143,15 @@ implements Serializable</pre>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><code>static class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.HashingScheme.html" title="enum in org.apache.pulsar.client.api">ProducerConfiguration.HashingScheme</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.HashingScheme.html" title="enum in org.apache.pulsar.client.api">ProducerConfiguration.HashingScheme</a></span></code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>static class&nbsp;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api">ProducerConfiguration.MessageRoutingMode</a></span></code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api">ProducerConfiguration.MessageRoutingMode</a></span></code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -160,7 +168,9 @@ implements Serializable</pre>
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#ProducerConfiguration--">ProducerConfiguration</a></span>()</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#ProducerConfiguration--">ProducerConfiguration</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -180,64 +190,92 @@ implements Serializable</pre>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#addEncryptionKey-java.lang.String-">addEncryptionKey</a></span>(String&nbsp;key)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Add public encryption key, used by producer to encrypt the data key.</div>
 </td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#equals-java.lang.Object-">equals</a></span>(Object&nbsp;obj)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#equals-java.lang.Object-">equals</a></span>(Object&nbsp;obj)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#getBatchingEnabled--">getBatchingEnabled</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#getBatchingEnabled--">getBatchingEnabled</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#getBatchingMaxMessages--">getBatchingMaxMessages</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#getBatchingMaxMessages--">getBatchingMaxMessages</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#getBatchingMaxPublishDelayMs--">getBatchingMaxPublishDelayMs</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#getBatchingMaxPublishDelayMs--">getBatchingMaxPublishDelayMs</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#getBlockIfQueueFull--">getBlockIfQueueFull</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#getBlockIfQueueFull--">getBlockIfQueueFull</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/CompressionType.html" title="enum in org.apache.pulsar.client.api">CompressionType</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#getCompressionType--">getCompressionType</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#getCompressionType--">getCompressionType</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ProducerCryptoFailureAction.html" title="enum in org.apache.pulsar.client.api">ProducerCryptoFailureAction</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#getCryptoFailureAction--">getCryptoFailureAction</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#getCryptoFailureAction--">getCryptoFailureAction</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api">CryptoKeyReader</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#getCryptoKeyReader--">getCryptoKeyReader</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#getCryptoKeyReader--">getCryptoKeyReader</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i9" class="rowColor">
 <td class="colFirst"><code>&lt;any&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#getEncryptionKeys--">getEncryptionKeys</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#getEncryptionKeys--">getEncryptionKeys</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i10" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.HashingScheme.html" title="enum in org.apache.pulsar.client.api">ProducerConfiguration.HashingScheme</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#getHashingScheme--">getHashingScheme</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#getHashingScheme--">getHashingScheme</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i11" class="rowColor">
 <td class="colFirst"><code>Optional&lt;Long&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#getInitialSequenceId--">getInitialSequenceId</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#getInitialSequenceId--">getInitialSequenceId</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i12" class="altColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#getMaxPendingMessages--">getMaxPendingMessages</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#getMaxPendingMessages--">getMaxPendingMessages</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i13" class="rowColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#getMaxPendingMessagesAcrossPartitions--">getMaxPendingMessagesAcrossPartitions</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#getMaxPendingMessagesAcrossPartitions--">getMaxPendingMessagesAcrossPartitions</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i14" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/MessageRouter.html" title="interface in org.apache.pulsar.client.api">MessageRouter</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#getMessageRouter--">getMessageRouter</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Get the message router set by <a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#setMessageRouter-org.apache.pulsar.client.api.MessageRouter-"><code>setMessageRouter(MessageRouter)</code></a>.</div>
 </td>
 </tr>
@@ -246,47 +284,59 @@ implements Serializable</pre>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#getMessageRouter-int-">getMessageRouter</a></span>(int&nbsp;numPartitions)</code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
 <div class="block"><span class="deprecationComment">since 1.22.0-incubating. <tt>numPartitions</tt> is already passed as parameter in
- <a href="../../../../../org/apache/pulsar/client/api/MessageRouter.html#choosePartition-org.apache.pulsar.client.api.Message-org.apache.pulsar.client.api.TopicMetadata-"><code>MessageRouter.choosePartition(Message, TopicMetadata)</code></a>.</span></div>
+             <a href="../../../../../org/apache/pulsar/client/api/MessageRouter.html#choosePartition-org.apache.pulsar.client.api.Message-org.apache.pulsar.client.api.TopicMetadata-"><code>MessageRouter.choosePartition(Message, TopicMetadata)</code></a>.</span></div>
 </div>
 </td>
 </tr>
 <tr id="i16" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api">ProducerConfiguration.MessageRoutingMode</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#getMessageRoutingMode--">getMessageRoutingMode</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Get the message routing mode for the partitioned producer</div>
 </td>
 </tr>
 <tr id="i17" class="rowColor">
 <td class="colFirst"><code>String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#getProducerName--">getProducerName</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#getProducerName--">getProducerName</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i18" class="altColor">
 <td class="colFirst"><code>Map&lt;String,String&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#getProperties--">getProperties</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#getProperties--">getProperties</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i19" class="rowColor">
 <td class="colFirst"><code>long</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#getSendTimeoutMs--">getSendTimeoutMs</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#getSendTimeoutMs--">getSendTimeoutMs</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i20" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#isEncryptionEnabled--">isEncryptionEnabled</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Returns true if encryption keys are added</div>
 </td>
 </tr>
 <tr id="i21" class="rowColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#removeEncryptionKey-java.lang.String-">removeEncryptionKey</a></span>(String&nbsp;key)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#removeEncryptionKey-java.lang.String-">removeEncryptionKey</a></span>(String&nbsp;key)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i22" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#setBatchingEnabled-boolean-">setBatchingEnabled</a></span>(boolean&nbsp;batchMessagesEnabled)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Control whether automatic batching of messages is enabled for the producer.</div>
 </td>
 </tr>
 <tr id="i23" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#setBatchingMaxMessages-int-">setBatchingMaxMessages</a></span>(int&nbsp;batchMessagesMaxMessagesPerBatch)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the maximum number of messages permitted in a batch.</div>
 </td>
 </tr>
@@ -294,6 +344,7 @@ implements Serializable</pre>
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#setBatchingMaxPublishDelay-long-java.util.concurrent.TimeUnit-">setBatchingMaxPublishDelay</a></span>(long&nbsp;batchDelay,
                           TimeUnit&nbsp;timeUnit)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the time period within which the messages sent will be batched <i>default: 10ms</i> if batch messages are
  enabled.</div>
 </td>
@@ -301,6 +352,7 @@ implements Serializable</pre>
 <tr id="i25" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#setBlockIfQueueFull-boolean-">setBlockIfQueueFull</a></span>(boolean&nbsp;blockIfQueueFull)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set whether the <a href="../../../../../org/apache/pulsar/client/api/Producer.html#send-byte:A-"><code>Producer.send(byte[])</code></a> and <a href="../../../../../org/apache/pulsar/client/api/Producer.html#sendAsync-byte:A-"><code>Producer.sendAsync(byte[])</code></a> operations should block when the outgoing
  message queue is full.</div>
 </td>
@@ -308,64 +360,76 @@ implements Serializable</pre>
 <tr id="i26" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#setCompressionType-org.apache.pulsar.client.api.CompressionType-">setCompressionType</a></span>(<a href="../../../../../org/apache/pulsar/client/api/CompressionType.html" title="enum in org.apache.pulsar.client.api">CompressionType</a>&nbsp;compressionType)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the compression type for the producer.</div>
 </td>
 </tr>
 <tr id="i27" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#setCryptoFailureAction-org.apache.pulsar.client.api.ProducerCryptoFailureAction-">setCryptoFailureAction</a></span>(<a href="../../../../../org/apache/pulsar/client/api/ProducerCryptoFailureAction.html" title="enum in org.apache.pulsar.client.api">ProducerCryptoFailureAction</a>&nbsp;action)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Sets the ProducerCryptoFailureAction to the value specified</div>
 </td>
 </tr>
 <tr id="i28" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#setCryptoKeyReader-org.apache.pulsar.client.api.CryptoKeyReader-">setCryptoKeyReader</a></span>(<a href="../../../../../org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api">CryptoKeyReader</a>&nbsp;cryptoKeyReader)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Sets a <a href="../../../../../org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api"><code>CryptoKeyReader</code></a></div>
 </td>
 </tr>
 <tr id="i29" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#setHashingScheme-org.apache.pulsar.client.api.ProducerConfiguration.HashingScheme-">setHashingScheme</a></span>(<a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.HashingScheme.html" title="enum in org.apache.pulsar.client.api">ProducerConfiguration.HashingScheme</a>&nbsp;hashingScheme)</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#setHashingScheme-org.apache.pulsar.client.api.ProducerConfiguration.HashingScheme-">setHashingScheme</a></span>(<a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.HashingScheme.html" title="enum in org.apache.pulsar.client.api">ProducerConfiguration.HashingScheme</a>&nbsp;hashingScheme)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i30" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#setInitialSequenceId-long-">setInitialSequenceId</a></span>(long&nbsp;initialSequenceId)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the baseline for the sequence ids for messages published by the producer.</div>
 </td>
 </tr>
 <tr id="i31" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#setMaxPendingMessages-int-">setMaxPendingMessages</a></span>(int&nbsp;maxPendingMessages)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the max size of the queue holding the messages pending to receive an acknowledgment from the broker.</div>
 </td>
 </tr>
 <tr id="i32" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#setMaxPendingMessagesAcrossPartitions-int-">setMaxPendingMessagesAcrossPartitions</a></span>(int&nbsp;maxPendingMessagesAcrossPartitions)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the number of max pending messages across all the partitions</div>
 </td>
 </tr>
 <tr id="i33" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#setMessageRouter-org.apache.pulsar.client.api.MessageRouter-">setMessageRouter</a></span>(<a href="../../../../../org/apache/pulsar/client/api/MessageRouter.html" title="interface in org.apache.pulsar.client.api">MessageRouter</a>&nbsp;messageRouter)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set a custom message routing policy by passing an implementation of MessageRouter</div>
 </td>
 </tr>
 <tr id="i34" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#setMessageRoutingMode-org.apache.pulsar.client.api.ProducerConfiguration.MessageRoutingMode-">setMessageRoutingMode</a></span>(<a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api">ProducerConfiguration.MessageRoutingMode</a>&nbsp;messageRouteMode)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the message routing mode for the partitioned producer</div>
 </td>
 </tr>
 <tr id="i35" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#setProducerName-java.lang.String-">setProducerName</a></span>(String&nbsp;producerName)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Specify a name for the producer</div>
 </td>
 </tr>
 <tr id="i36" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#setProperties-java.util.Map-">setProperties</a></span>(Map&lt;String,String&gt;&nbsp;properties)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Add all the properties in the provided map</div>
 </td>
 </tr>
@@ -373,6 +437,7 @@ implements Serializable</pre>
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#setProperty-java.lang.String-java.lang.String-">setProperty</a></span>(String&nbsp;key,
            String&nbsp;value)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set a name/value property with this producer.</div>
 </td>
 </tr>
@@ -380,6 +445,7 @@ implements Serializable</pre>
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#setSendTimeout-int-java.util.concurrent.TimeUnit-">setSendTimeout</a></span>(int&nbsp;sendTimeout,
               TimeUnit&nbsp;unit)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the send timeout <i>(default: 30 seconds)</i></div>
 </td>
 </tr>
@@ -412,6 +478,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>ProducerConfiguration</h4>
 <pre>public&nbsp;ProducerConfiguration()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 </li>
@@ -429,6 +496,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>getProducerName</h4>
 <pre>public&nbsp;String&nbsp;getProducerName()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the configured custom producer name or null if no custom name was specified</dd>
@@ -444,6 +512,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>setProducerName</h4>
 <pre>public&nbsp;void&nbsp;setProducerName(String&nbsp;producerName)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Specify a name for the producer
  <p>
  If not assigned, the system will generate a globally unique name which can be access with
@@ -469,6 +538,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>getSendTimeoutMs</h4>
 <pre>public&nbsp;long&nbsp;getSendTimeoutMs()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the message send timeout in ms</dd>
@@ -483,6 +553,7 @@ implements Serializable</pre>
 <h4>setSendTimeout</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a>&nbsp;setSendTimeout(int&nbsp;sendTimeout,
                                             TimeUnit&nbsp;unit)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the send timeout <i>(default: 30 seconds)</i>
  <p>
  If a message is not acknowledged by the server before the sendTimeout expires, an error will be reported.</div>
@@ -500,6 +571,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>getMaxPendingMessages</h4>
 <pre>public&nbsp;int&nbsp;getMaxPendingMessages()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the maximum number of messages allowed in the outstanding messages queue for the producer</dd>
@@ -513,6 +585,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>setMaxPendingMessages</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a>&nbsp;setMaxPendingMessages(int&nbsp;maxPendingMessages)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the max size of the queue holding the messages pending to receive an acknowledgment from the broker.
  <p>
  When the queue is full, by default, all calls to <a href="../../../../../org/apache/pulsar/client/api/Producer.html#send-byte:A-"><code>Producer.send(byte[])</code></a> and <a href="../../../../../org/apache/pulsar/client/api/Producer.html#sendAsync-byte:A-"><code>Producer.sendAsync(byte[])</code></a> will fail
@@ -531,6 +604,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>getHashingScheme</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.HashingScheme.html" title="enum in org.apache.pulsar.client.api">ProducerConfiguration.HashingScheme</a>&nbsp;getHashingScheme()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 <a name="setHashingScheme-org.apache.pulsar.client.api.ProducerConfiguration.HashingScheme-">
@@ -540,6 +614,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>setHashingScheme</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a>&nbsp;setHashingScheme(<a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.HashingScheme.html" title="enum in org.apache.pulsar.client.api">ProducerConfiguration.HashingScheme</a>&nbsp;hashingScheme)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 <a name="getMaxPendingMessagesAcrossPartitions--">
@@ -549,6 +624,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>getMaxPendingMessagesAcrossPartitions</h4>
 <pre>public&nbsp;int&nbsp;getMaxPendingMessagesAcrossPartitions()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the maximum number of pending messages allowed across all the partitions</dd>
@@ -562,6 +638,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>setMaxPendingMessagesAcrossPartitions</h4>
 <pre>public&nbsp;void&nbsp;setMaxPendingMessagesAcrossPartitions(int&nbsp;maxPendingMessagesAcrossPartitions)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the number of max pending messages across all the partitions
  <p>
  This setting will be used to lower the max pending messages for each partition
@@ -579,6 +656,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>getBlockIfQueueFull</h4>
 <pre>public&nbsp;boolean&nbsp;getBlockIfQueueFull()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>whether the producer will block <a href="../../../../../org/apache/pulsar/client/api/Producer.html#send-byte:A-"><code>Producer.send(byte[])</code></a> and <a href="../../../../../org/apache/pulsar/client/api/Producer.html#sendAsync-byte:A-"><code>Producer.sendAsync(byte[])</code></a> operations when the
@@ -593,6 +671,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>setBlockIfQueueFull</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a>&nbsp;setBlockIfQueueFull(boolean&nbsp;blockIfQueueFull)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set whether the <a href="../../../../../org/apache/pulsar/client/api/Producer.html#send-byte:A-"><code>Producer.send(byte[])</code></a> and <a href="../../../../../org/apache/pulsar/client/api/Producer.html#sendAsync-byte:A-"><code>Producer.sendAsync(byte[])</code></a> operations should block when the outgoing
  message queue is full.
  <p>
@@ -612,6 +691,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>setMessageRoutingMode</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a>&nbsp;setMessageRoutingMode(<a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api">ProducerConfiguration.MessageRoutingMode</a>&nbsp;messageRouteMode)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the message routing mode for the partitioned producer</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -627,6 +707,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>getMessageRoutingMode</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api">ProducerConfiguration.MessageRoutingMode</a>&nbsp;getMessageRoutingMode()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Get the message routing mode for the partitioned producer</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -640,6 +721,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>setCompressionType</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a>&nbsp;setCompressionType(<a href="../../../../../org/apache/pulsar/client/api/CompressionType.html" title="enum in org.apache.pulsar.client.api">CompressionType</a>&nbsp;compressionType)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the compression type for the producer.
  <p>
  By default, message payloads are not compressed. Supported compression types are:
@@ -665,6 +747,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>getCompressionType</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/CompressionType.html" title="enum in org.apache.pulsar.client.api">CompressionType</a>&nbsp;getCompressionType()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the configured compression type for this producer</dd>
@@ -678,6 +761,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>setMessageRouter</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a>&nbsp;setMessageRouter(<a href="../../../../../org/apache/pulsar/client/api/MessageRouter.html" title="interface in org.apache.pulsar.client.api">MessageRouter</a>&nbsp;messageRouter)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set a custom message routing policy by passing an implementation of MessageRouter</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -694,7 +778,7 @@ implements Serializable</pre>
 <pre>@Deprecated
 public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/MessageRouter.html" title="interface in org.apache.pulsar.client.api">MessageRouter</a>&nbsp;getMessageRouter(int&nbsp;numPartitions)</pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">since 1.22.0-incubating. <tt>numPartitions</tt> is already passed as parameter in
- <a href="../../../../../org/apache/pulsar/client/api/MessageRouter.html#choosePartition-org.apache.pulsar.client.api.Message-org.apache.pulsar.client.api.TopicMetadata-"><code>MessageRouter.choosePartition(Message, TopicMetadata)</code></a>.</span></div>
+             <a href="../../../../../org/apache/pulsar/client/api/MessageRouter.html#choosePartition-org.apache.pulsar.client.api.Message-org.apache.pulsar.client.api.TopicMetadata-"><code>MessageRouter.choosePartition(Message, TopicMetadata)</code></a>.</span></div>
 <div class="block">Get the message router set by <a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#setMessageRouter-org.apache.pulsar.client.api.MessageRouter-"><code>setMessageRouter(MessageRouter)</code></a>.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -711,6 +795,7 @@ public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/MessageRouter.h
 <li class="blockList">
 <h4>getMessageRouter</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/MessageRouter.html" title="interface in org.apache.pulsar.client.api">MessageRouter</a>&nbsp;getMessageRouter()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Get the message router set by <a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html#setMessageRouter-org.apache.pulsar.client.api.MessageRouter-"><code>setMessageRouter(MessageRouter)</code></a>.</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -725,6 +810,7 @@ public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/MessageRouter.h
 <li class="blockList">
 <h4>getBatchingEnabled</h4>
 <pre>public&nbsp;boolean&nbsp;getBatchingEnabled()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 <a name="setBatchingEnabled-boolean-">
@@ -734,6 +820,7 @@ public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/MessageRouter.h
 <li class="blockList">
 <h4>setBatchingEnabled</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a>&nbsp;setBatchingEnabled(boolean&nbsp;batchMessagesEnabled)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Control whether automatic batching of messages is enabled for the producer. <i>default: false [No batching]</i>
 
  When batching is enabled, multiple calls to Producer.sendAsync can result in a single batch to be sent to the
@@ -759,6 +846,7 @@ public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/MessageRouter.h
 <li class="blockList">
 <h4>getCryptoKeyReader</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api">CryptoKeyReader</a>&nbsp;getCryptoKeyReader()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the CryptoKeyReader</dd>
@@ -772,6 +860,7 @@ public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/MessageRouter.h
 <li class="blockList">
 <h4>setCryptoKeyReader</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a>&nbsp;setCryptoKeyReader(<a href="../../../../../org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api">CryptoKeyReader</a>&nbsp;cryptoKeyReader)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Sets a <a href="../../../../../org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api"><code>CryptoKeyReader</code></a></div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -786,6 +875,7 @@ public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/MessageRouter.h
 <li class="blockList">
 <h4>getEncryptionKeys</h4>
 <pre>public&nbsp;&lt;any&gt;&nbsp;getEncryptionKeys()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>encryptionKeys</dd>
@@ -799,6 +889,7 @@ public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/MessageRouter.h
 <li class="blockList">
 <h4>isEncryptionEnabled</h4>
 <pre>public&nbsp;boolean&nbsp;isEncryptionEnabled()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Returns true if encryption keys are added</div>
 </li>
 </ul>
@@ -809,13 +900,13 @@ public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/MessageRouter.h
 <li class="blockList">
 <h4>addEncryptionKey</h4>
 <pre>public&nbsp;void&nbsp;addEncryptionKey(String&nbsp;key)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Add public encryption key, used by producer to encrypt the data key.
 
- At the time of producer creation, Pulsar client checks if there are keys added to encryptionKeys.
- If keys are found, a callback getKey(String keyName) is invoked against each key to load
- the values of the key. Application should implement this callback to return the key in pkcs8 format.
- If compression is enabled, message is encrypted after compression.
- If batch messaging is enabled, the batched message is encrypted.</div>
+ At the time of producer creation, Pulsar client checks if there are keys added to encryptionKeys. If keys are
+ found, a callback getKey(String keyName) is invoked against each key to load the values of the key. Application
+ should implement this callback to return the key in pkcs8 format. If compression is enabled, message is encrypted
+ after compression. If batch messaging is enabled, the batched message is encrypted.</div>
 </li>
 </ul>
 <a name="removeEncryptionKey-java.lang.String-">
@@ -825,6 +916,7 @@ public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/MessageRouter.h
 <li class="blockList">
 <h4>removeEncryptionKey</h4>
 <pre>public&nbsp;void&nbsp;removeEncryptionKey(String&nbsp;key)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 <a name="setCryptoFailureAction-org.apache.pulsar.client.api.ProducerCryptoFailureAction-">
@@ -834,10 +926,11 @@ public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/MessageRouter.h
 <li class="blockList">
 <h4>setCryptoFailureAction</h4>
 <pre>public&nbsp;void&nbsp;setCryptoFailureAction(<a href="../../../../../org/apache/pulsar/client/api/ProducerCryptoFailureAction.html" title="enum in org.apache.pulsar.client.api">ProducerCryptoFailureAction</a>&nbsp;action)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Sets the ProducerCryptoFailureAction to the value specified</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>The</code> - producer action</dd>
+<dd><code>action</code> - The producer action</dd>
 </dl>
 </li>
 </ul>
@@ -848,6 +941,7 @@ public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/MessageRouter.h
 <li class="blockList">
 <h4>getCryptoFailureAction</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/ProducerCryptoFailureAction.html" title="enum in org.apache.pulsar.client.api">ProducerCryptoFailureAction</a>&nbsp;getCryptoFailureAction()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>The ProducerCryptoFailureAction</dd>
@@ -861,6 +955,7 @@ public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/MessageRouter.h
 <li class="blockList">
 <h4>getBatchingMaxPublishDelayMs</h4>
 <pre>public&nbsp;long&nbsp;getBatchingMaxPublishDelayMs()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the batch time period in ms.</dd>
@@ -877,6 +972,7 @@ public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/MessageRouter.h
 <h4>setBatchingMaxPublishDelay</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a>&nbsp;setBatchingMaxPublishDelay(long&nbsp;batchDelay,
                                                         TimeUnit&nbsp;timeUnit)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the time period within which the messages sent will be batched <i>default: 10ms</i> if batch messages are
  enabled. If set to a non zero value, messages will be queued until this time interval or until</div>
 <dl>
@@ -902,6 +998,7 @@ public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/MessageRouter.h
 <li class="blockList">
 <h4>getBatchingMaxMessages</h4>
 <pre>public&nbsp;int&nbsp;getBatchingMaxMessages()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the maximum number of messages permitted in a batch.</dd>
@@ -915,6 +1012,7 @@ public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/MessageRouter.h
 <li class="blockList">
 <h4>setBatchingMaxMessages</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a>&nbsp;setBatchingMaxMessages(int&nbsp;batchMessagesMaxMessagesPerBatch)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the maximum number of messages permitted in a batch. <i>default: 1000</i> If set to a value greater than 1,
  messages will be queued until this threshold is reached or batch interval has elapsed</div>
 <dl>
@@ -935,6 +1033,7 @@ public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/MessageRouter.h
 <li class="blockList">
 <h4>getInitialSequenceId</h4>
 <pre>public&nbsp;Optional&lt;Long&gt;&nbsp;getInitialSequenceId()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 <a name="setInitialSequenceId-long-">
@@ -944,6 +1043,7 @@ public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/MessageRouter.h
 <li class="blockList">
 <h4>setInitialSequenceId</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a>&nbsp;setInitialSequenceId(long&nbsp;initialSequenceId)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the baseline for the sequence ids for messages published by the producer.
  <p>
  First message will be using (initialSequenceId + 1) as its sequence id and subsequent messages will be assigned
@@ -963,6 +1063,7 @@ public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/MessageRouter.h
 <h4>setProperty</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a>&nbsp;setProperty(String&nbsp;key,
                                          String&nbsp;value)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set a name/value property with this producer.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -979,6 +1080,7 @@ public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/MessageRouter.h
 <li class="blockList">
 <h4>setProperties</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a>&nbsp;setProperties(Map&lt;String,String&gt;&nbsp;properties)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Add all the properties in the provided map</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -994,6 +1096,7 @@ public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/MessageRouter.h
 <li class="blockList">
 <h4>getProperties</h4>
 <pre>public&nbsp;Map&lt;String,String&gt;&nbsp;getProperties()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 <a name="equals-java.lang.Object-">
@@ -1003,6 +1106,7 @@ public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/MessageRouter.h
 <li class="blockList">
 <h4>equals</h4>
 <pre>public&nbsp;boolean&nbsp;equals(Object&nbsp;obj)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
 <dd><code>equals</code>&nbsp;in class&nbsp;<code>Object</code></dd>
@@ -1036,7 +1140,7 @@ public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/MessageRouter.h
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.HashingScheme.html" title="enum in org.apache.pulsar.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
diff --git a/content/api/client/org/apache/pulsar/client/api/PulsarClient.html b/content/api/client/org/apache/pulsar/client/api/PulsarClient.html
index ca04d23..0d6a841 100644
--- a/content/api/client/org/apache/pulsar/client/api/PulsarClient.html
+++ b/content/api/client/org/apache/pulsar/client/api/PulsarClient.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":6,"i1":6,"i2":17,"i3":17,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"]};
+var methods = {"i0":17,"i1":6,"i2":6,"i3":49,"i4":49,"i5":38,"i6":38,"i7":38,"i8":38,"i9":38,"i10":38,"i11":6,"i12":6,"i13":6,"i14":6,"i15":38,"i16":38,"i17":38,"i18":38};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],16:["t5","Default Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -105,7 +105,10 @@ var activeTableTab = "activeTableTab";
 <br>
 <pre>public interface <span class="typeNameLabel">PulsarClient</span>
 extends Closeable</pre>
-<div class="block">Class that provides a client interface to Pulsar</div>
+<div class="block">Class that provides a client interface to Pulsar.
+ <p>
+ Client instances are thread-safe and can be reused for managing multiple <a href="../../../../../org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api"><code>Producer</code></a>, <a href="../../../../../org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api"><code>Consumer</code></a> and
+ <a href="../../../../../org/apache/pulsar/client/api/Reader.html" title="interface in org.apache.pulsar.client.api"><code>Reader</code></a> instances.</div>
 </li>
 </ul>
 </div>
@@ -119,115 +122,160 @@ extends Closeable</pre>
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd [...]
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd [...]
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code>static <a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#builder--">builder</a></span>()</code>
+<div class="block">Get a new builder instance that can used to configure and build a <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api"><code>PulsarClient</code></a> instance.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#close--">close</a></span>()</code>
 <div class="block">Close the PulsarClient and release all the resources.</div>
 </td>
 </tr>
-<tr id="i1" class="rowColor">
+<tr id="i2" class="altColor">
 <td class="colFirst"><code>CompletableFuture&lt;Void&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#closeAsync--">closeAsync</a></span>()</code>
 <div class="block">Asynchronously close the PulsarClient and release all the resources.</div>
 </td>
 </tr>
-<tr id="i2" class="altColor">
+<tr id="i3" class="rowColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api">PulsarClient</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#create-java.lang.String-">create</a></span>(String&nbsp;serviceUrl)</code>
-<div class="block">Create a new PulsarClient object using default client configuration</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">use <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#builder--"><code>builder()</code></a> to construct a client instance</span></div>
+</div>
 </td>
 </tr>
-<tr id="i3" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>static <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api">PulsarClient</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#create-java.lang.String-org.apache.pulsar.client.api.ClientConfiguration-">create</a></span>(String&nbsp;serviceUrl,
       <a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api">ClientConfiguration</a>&nbsp;conf)</code>
-<div class="block">Create a new PulsarClient object</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">use <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#builder--"><code>builder()</code></a> to construct a client instance</span></div>
+</div>
 </td>
 </tr>
-<tr id="i4" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api">Producer</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#createProducer-java.lang.String-">createProducer</a></span>(String&nbsp;topic)</code>
-<div class="block">Create a producer with default <a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api"><code>ProducerConfiguration</code></a> for publishing on a specific topic</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">use <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#newProducer--"><code>newProducer()</code></a> to build a new producer</span></div>
+</div>
 </td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api">Producer</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#createProducer-java.lang.String-org.apache.pulsar.client.api.ProducerConfiguration-">createProducer</a></span>(String&nbsp;topic,
               <a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a>&nbsp;conf)</code>
-<div class="block">Create a producer with given <code>ProducerConfiguration</code> for publishing on a specific topic</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">use <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#newProducer--"><code>newProducer()</code></a> to build a new producer</span></div>
+</div>
 </td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>CompletableFuture&lt;<a href="../../../../../org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api">Producer</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#createProducerAsync-java.lang.String-">createProducerAsync</a></span>(String&nbsp;topic)</code>
-<div class="block">Asynchronously create a producer with default <a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api"><code>ProducerConfiguration</code></a> for publishing on a specific topic</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">use <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#newProducer--"><code>newProducer()</code></a> to build a new producer</span></div>
+</div>
 </td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code>CompletableFuture&lt;<a href="../../../../../org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api">Producer</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#createProducerAsync-java.lang.String-org.apache.pulsar.client.api.ProducerConfiguration-">createProducerAsync</a></span>(String&nbsp;topic,
                    <a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a>&nbsp;conf)</code>
-<div class="block">Asynchronously create a producer with given <code>ProducerConfiguration</code> for publishing on a specific topic</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">use <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#newProducer--"><code>newProducer()</code></a> to build a new producer</span></div>
+</div>
 </td>
 </tr>
-<tr id="i8" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/Reader.html" title="interface in org.apache.pulsar.client.api">Reader</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#createReader-java.lang.String-org.apache.pulsar.client.api.MessageId-org.apache.pulsar.client.api.ReaderConfiguration-">createReader</a></span>(String&nbsp;topic,
             <a href="../../../../../org/apache/pulsar/client/api/MessageId.html" title="interface in org.apache.pulsar.client.api">MessageId</a>&nbsp;startMessageId,
             <a href="../../../../../org/apache/pulsar/client/api/ReaderConfiguration.html" title="class in org.apache.pulsar.client.api">ReaderConfiguration</a>&nbsp;conf)</code>
-<div class="block">Create a topic reader with given <code>ReaderConfiguration</code> for reading messages from the specified topic.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">Use <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#newReader--"><code>newReader()</code></a> to build a new reader</span></div>
+</div>
 </td>
 </tr>
-<tr id="i9" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>CompletableFuture&lt;<a href="../../../../../org/apache/pulsar/client/api/Reader.html" title="interface in org.apache.pulsar.client.api">Reader</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#createReaderAsync-java.lang.String-org.apache.pulsar.client.api.MessageId-org.apache.pulsar.client.api.ReaderConfiguration-">createReaderAsync</a></span>(String&nbsp;topic,
                  <a href="../../../../../org/apache/pulsar/client/api/MessageId.html" title="interface in org.apache.pulsar.client.api">MessageId</a>&nbsp;startMessageId,
                  <a href="../../../../../org/apache/pulsar/client/api/ReaderConfiguration.html" title="class in org.apache.pulsar.client.api">ReaderConfiguration</a>&nbsp;conf)</code>
-<div class="block">Asynchronously create a topic reader with given <code>ReaderConfiguration</code> for reading messages from the
- specified topic.</div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">Use <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#newReader--"><code>newReader()</code></a> to build a new reader</span></div>
+</div>
 </td>
 </tr>
-<tr id="i10" class="altColor">
+<tr id="i11" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#newConsumer--">newConsumer</a></span>()</code>
+<div class="block">Create a producer with default for publishing on a specific topic</div>
+</td>
+</tr>
+<tr id="i12" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#newProducer--">newProducer</a></span>()</code>
+<div class="block">Create a producer with default for publishing on a specific topic</div>
+</td>
+</tr>
+<tr id="i13" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api">ReaderBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#newReader--">newReader</a></span>()</code>
+<div class="block">Create a topic reader for reading messages from the specified topic.</div>
+</td>
+</tr>
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#shutdown--">shutdown</a></span>()</code>
 <div class="block">Perform immediate shutdown of PulsarClient.</div>
 </td>
 </tr>
-<tr id="i11" class="rowColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api">Consumer</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#subscribe-java.lang.String-java.lang.String-">subscribe</a></span>(String&nbsp;topic,
          String&nbsp;subscription)</code>
-<div class="block">Subscribe to the given topic and subscription combination with default <code>ConsumerConfiguration</code></div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">Use <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#newConsumer--"><code>newConsumer()</code></a> to build a new consumer</span></div>
+</div>
 </td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i16" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api">Consumer</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#subscribe-java.lang.String-java.lang.String-org.apache.pulsar.client.api.ConsumerConfiguration-">subscribe</a></span>(String&nbsp;topic,
          String&nbsp;subscription,
          <a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a>&nbsp;conf)</code>
-<div class="block">Subscribe to the given topic and subscription combination with given <code>ConsumerConfiguration</code></div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">Use <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#newConsumer--"><code>newConsumer()</code></a> to build a new consumer</span></div>
+</div>
 </td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>CompletableFuture&lt;<a href="../../../../../org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api">Consumer</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#subscribeAsync-java.lang.String-java.lang.String-">subscribeAsync</a></span>(String&nbsp;topic,
               String&nbsp;subscription)</code>
-<div class="block">Asynchronously subscribe to the given topic and subscription combination using default
- <code>ConsumerConfiguration</code></div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">Use <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#newConsumer--"><code>newConsumer()</code></a> to build a new consumer</span></div>
+</div>
 </td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i18" class="altColor">
 <td class="colFirst"><code>CompletableFuture&lt;<a href="../../../../../org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api">Consumer</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#subscribeAsync-java.lang.String-java.lang.String-org.apache.pulsar.client.api.ConsumerConfiguration-">subscribeAsync</a></span>(String&nbsp;topic,
               String&nbsp;subscription,
               <a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a>&nbsp;conf)</code>
-<div class="block">Asynchronously subscribe to the given topic and subscription combination using given
- <code>ConsumerConfiguration</code></div>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">Use <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#newConsumer--"><code>newConsumer()</code></a> to build a new consumer</span></div>
+</div>
 </td>
 </tr>
 </table>
@@ -245,14 +293,32 @@ extends Closeable</pre>
 <!--   -->
 </a>
 <h3>Method Detail</h3>
+<a name="builder--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>builder</h4>
+<pre>static&nbsp;<a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a>&nbsp;builder()</pre>
+<div class="block">Get a new builder instance that can used to configure and build a <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api"><code>PulsarClient</code></a> instance.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the <a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api"><code>ClientBuilder</code></a></dd>
+<dt><span class="simpleTagLabel">Since:</span></dt>
+<dd>2.0.0</dd>
+</dl>
+</li>
+</ul>
 <a name="create-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>create</h4>
-<pre>static&nbsp;<a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api">PulsarClient</a>&nbsp;create(String&nbsp;serviceUrl)
-                    throws <a href="../../../../../org/apache/pulsar/client/api/PulsarClientException.html" title="class in org.apache.pulsar.client.api">PulsarClientException</a></pre>
+<pre>@Deprecated
+static&nbsp;<a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api">PulsarClient</a>&nbsp;create(String&nbsp;serviceUrl)
+                                throws <a href="../../../../../org/apache/pulsar/client/api/PulsarClientException.html" title="class in org.apache.pulsar.client.api">PulsarClientException</a></pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#builder--"><code>builder()</code></a> to construct a client instance</span></div>
 <div class="block">Create a new PulsarClient object using default client configuration</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -271,9 +337,11 @@ extends Closeable</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>create</h4>
-<pre>static&nbsp;<a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api">PulsarClient</a>&nbsp;create(String&nbsp;serviceUrl,
-                           <a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api">ClientConfiguration</a>&nbsp;conf)
-                    throws <a href="../../../../../org/apache/pulsar/client/api/PulsarClientException.html" title="class in org.apache.pulsar.client.api">PulsarClientException</a></pre>
+<pre>@Deprecated
+static&nbsp;<a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api">PulsarClient</a>&nbsp;create(String&nbsp;serviceUrl,
+                                       <a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api">ClientConfiguration</a>&nbsp;conf)
+                                throws <a href="../../../../../org/apache/pulsar/client/api/PulsarClientException.html" title="class in org.apache.pulsar.client.api">PulsarClientException</a></pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#builder--"><code>builder()</code></a> to construct a client instance</span></div>
 <div class="block">Create a new PulsarClient object</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -287,14 +355,73 @@ extends Closeable</pre>
 </dl>
 </li>
 </ul>
+<a name="newProducer--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newProducer</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a>&nbsp;newProducer()</pre>
+<div class="block">Create a producer with default for publishing on a specific topic
+ <p>
+ Example:
+
+ <code>
+ Producer producer = client.newProducer().topic(myTopic).create();
+ </code></div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a <a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api"><code>ProducerBuilder</code></a> object to configure and construct the <a href="../../../../../org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api"><code>Producer</code></a> instance</dd>
+<dt><span class="simpleTagLabel">Since:</span></dt>
+<dd>2.0.0</dd>
+</dl>
+</li>
+</ul>
+<a name="newConsumer--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newConsumer</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a>&nbsp;newConsumer()</pre>
+<div class="block">Create a producer with default for publishing on a specific topic</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a <a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api"><code>ProducerBuilder</code></a> object to configure and construct the <a href="../../../../../org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api"><code>Producer</code></a> instance</dd>
+<dt><span class="simpleTagLabel">Since:</span></dt>
+<dd>2.0.0</dd>
+</dl>
+</li>
+</ul>
+<a name="newReader--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>newReader</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api">ReaderBuilder</a>&nbsp;newReader()</pre>
+<div class="block">Create a topic reader for reading messages from the specified topic.
+ <p>
+ The Reader provides a low-level abstraction that allows for manual positioning in the topic, without using a
+ subscription. Reader can only work on non-partitioned topics.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>a <a href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api"><code>ReaderBuilder</code></a> that can be used to configure and construct a <a href="../../../../../org/apache/pulsar/client/api/Reader.html" title="interface in org.apache.pulsar.client.api"><code>Reader</code></a> instance</dd>
+<dt><span class="simpleTagLabel">Since:</span></dt>
+<dd>2.0.0</dd>
+</dl>
+</li>
+</ul>
 <a name="createProducer-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>createProducer</h4>
-<pre><a href="../../../../../org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api">Producer</a>&nbsp;createProducer(String&nbsp;topic)
-                 throws <a href="../../../../../org/apache/pulsar/client/api/PulsarClientException.html" title="class in org.apache.pulsar.client.api">PulsarClientException</a></pre>
+<pre>@Deprecated
+<a href="../../../../../org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api">Producer</a>&nbsp;createProducer(String&nbsp;topic)
+                             throws <a href="../../../../../org/apache/pulsar/client/api/PulsarClientException.html" title="class in org.apache.pulsar.client.api">PulsarClientException</a></pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#newProducer--"><code>newProducer()</code></a> to build a new producer</span></div>
 <div class="block">Create a producer with default <a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api"><code>ProducerConfiguration</code></a> for publishing on a specific topic</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -316,7 +443,9 @@ extends Closeable</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>createProducerAsync</h4>
-<pre>CompletableFuture&lt;<a href="../../../../../org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api">Producer</a>&gt;&nbsp;createProducerAsync(String&nbsp;topic)</pre>
+<pre>@Deprecated
+CompletableFuture&lt;<a href="../../../../../org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api">Producer</a>&gt;&nbsp;createProducerAsync(String&nbsp;topic)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#newProducer--"><code>newProducer()</code></a> to build a new producer</span></div>
 <div class="block">Asynchronously create a producer with default <a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api"><code>ProducerConfiguration</code></a> for publishing on a specific topic</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -332,9 +461,11 @@ extends Closeable</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>createProducer</h4>
-<pre><a href="../../../../../org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api">Producer</a>&nbsp;createProducer(String&nbsp;topic,
-                        <a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a>&nbsp;conf)
-                 throws <a href="../../../../../org/apache/pulsar/client/api/PulsarClientException.html" title="class in org.apache.pulsar.client.api">PulsarClientException</a></pre>
+<pre>@Deprecated
+<a href="../../../../../org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api">Producer</a>&nbsp;createProducer(String&nbsp;topic,
+                                    <a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a>&nbsp;conf)
+                             throws <a href="../../../../../org/apache/pulsar/client/api/PulsarClientException.html" title="class in org.apache.pulsar.client.api">PulsarClientException</a></pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#newProducer--"><code>newProducer()</code></a> to build a new producer</span></div>
 <div class="block">Create a producer with given <code>ProducerConfiguration</code> for publishing on a specific topic</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -354,8 +485,10 @@ extends Closeable</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>createProducerAsync</h4>
-<pre>CompletableFuture&lt;<a href="../../../../../org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api">Producer</a>&gt;&nbsp;createProducerAsync(String&nbsp;topic,
-                                                <a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a>&nbsp;conf)</pre>
+<pre>@Deprecated
+CompletableFuture&lt;<a href="../../../../../org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api">Producer</a>&gt;&nbsp;createProducerAsync(String&nbsp;topic,
+                                                            <a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a>&nbsp;conf)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">use <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#newProducer--"><code>newProducer()</code></a> to build a new producer</span></div>
 <div class="block">Asynchronously create a producer with given <code>ProducerConfiguration</code> for publishing on a specific topic</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -372,9 +505,11 @@ extends Closeable</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>subscribe</h4>
-<pre><a href="../../../../../org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api">Consumer</a>&nbsp;subscribe(String&nbsp;topic,
-                   String&nbsp;subscription)
-            throws <a href="../../../../../org/apache/pulsar/client/api/PulsarClientException.html" title="class in org.apache.pulsar.client.api">PulsarClientException</a></pre>
+<pre>@Deprecated
+<a href="../../../../../org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api">Consumer</a>&nbsp;subscribe(String&nbsp;topic,
+                               String&nbsp;subscription)
+                        throws <a href="../../../../../org/apache/pulsar/client/api/PulsarClientException.html" title="class in org.apache.pulsar.client.api">PulsarClientException</a></pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Use <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#newConsumer--"><code>newConsumer()</code></a> to build a new consumer</span></div>
 <div class="block">Subscribe to the given topic and subscription combination with default <code>ConsumerConfiguration</code></div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -394,8 +529,10 @@ extends Closeable</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>subscribeAsync</h4>
-<pre>CompletableFuture&lt;<a href="../../../../../org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api">Consumer</a>&gt;&nbsp;subscribeAsync(String&nbsp;topic,
-                                           String&nbsp;subscription)</pre>
+<pre>@Deprecated
+CompletableFuture&lt;<a href="../../../../../org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api">Consumer</a>&gt;&nbsp;subscribeAsync(String&nbsp;topic,
+                                                       String&nbsp;subscription)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Use <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#newConsumer--"><code>newConsumer()</code></a> to build a new consumer</span></div>
 <div class="block">Asynchronously subscribe to the given topic and subscription combination using default
  <code>ConsumerConfiguration</code></div>
 <dl>
@@ -413,10 +550,12 @@ extends Closeable</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>subscribe</h4>
-<pre><a href="../../../../../org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api">Consumer</a>&nbsp;subscribe(String&nbsp;topic,
-                   String&nbsp;subscription,
-                   <a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a>&nbsp;conf)
-            throws <a href="../../../../../org/apache/pulsar/client/api/PulsarClientException.html" title="class in org.apache.pulsar.client.api">PulsarClientException</a></pre>
+<pre>@Deprecated
+<a href="../../../../../org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api">Consumer</a>&nbsp;subscribe(String&nbsp;topic,
+                               String&nbsp;subscription,
+                               <a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a>&nbsp;conf)
+                        throws <a href="../../../../../org/apache/pulsar/client/api/PulsarClientException.html" title="class in org.apache.pulsar.client.api">PulsarClientException</a></pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Use <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#newConsumer--"><code>newConsumer()</code></a> to build a new consumer</span></div>
 <div class="block">Subscribe to the given topic and subscription combination with given <code>ConsumerConfiguration</code></div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -436,9 +575,11 @@ extends Closeable</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>subscribeAsync</h4>
-<pre>CompletableFuture&lt;<a href="../../../../../org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api">Consumer</a>&gt;&nbsp;subscribeAsync(String&nbsp;topic,
-                                           String&nbsp;subscription,
-                                           <a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a>&nbsp;conf)</pre>
+<pre>@Deprecated
+CompletableFuture&lt;<a href="../../../../../org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api">Consumer</a>&gt;&nbsp;subscribeAsync(String&nbsp;topic,
+                                                       String&nbsp;subscription,
+                                                       <a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a>&nbsp;conf)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Use <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#newConsumer--"><code>newConsumer()</code></a> to build a new consumer</span></div>
 <div class="block">Asynchronously subscribe to the given topic and subscription combination using given
  <code>ConsumerConfiguration</code></div>
 <dl>
@@ -457,10 +598,12 @@ extends Closeable</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>createReader</h4>
-<pre><a href="../../../../../org/apache/pulsar/client/api/Reader.html" title="interface in org.apache.pulsar.client.api">Reader</a>&nbsp;createReader(String&nbsp;topic,
-                    <a href="../../../../../org/apache/pulsar/client/api/MessageId.html" title="interface in org.apache.pulsar.client.api">MessageId</a>&nbsp;startMessageId,
-                    <a href="../../../../../org/apache/pulsar/client/api/ReaderConfiguration.html" title="class in org.apache.pulsar.client.api">ReaderConfiguration</a>&nbsp;conf)
-             throws <a href="../../../../../org/apache/pulsar/client/api/PulsarClientException.html" title="class in org.apache.pulsar.client.api">PulsarClientException</a></pre>
+<pre>@Deprecated
+<a href="../../../../../org/apache/pulsar/client/api/Reader.html" title="interface in org.apache.pulsar.client.api">Reader</a>&nbsp;createReader(String&nbsp;topic,
+                                <a href="../../../../../org/apache/pulsar/client/api/MessageId.html" title="interface in org.apache.pulsar.client.api">MessageId</a>&nbsp;startMessageId,
+                                <a href="../../../../../org/apache/pulsar/client/api/ReaderConfiguration.html" title="class in org.apache.pulsar.client.api">ReaderConfiguration</a>&nbsp;conf)
+                         throws <a href="../../../../../org/apache/pulsar/client/api/PulsarClientException.html" title="class in org.apache.pulsar.client.api">PulsarClientException</a></pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Use <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#newReader--"><code>newReader()</code></a> to build a new reader</span></div>
 <div class="block">Create a topic reader with given <code>ReaderConfiguration</code> for reading messages from the specified topic.
  <p>
  The Reader provides a low-level abstraction that allows for manual positioning in the topic, without using a
@@ -493,9 +636,11 @@ extends Closeable</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>createReaderAsync</h4>
-<pre>CompletableFuture&lt;<a href="../../../../../org/apache/pulsar/client/api/Reader.html" title="interface in org.apache.pulsar.client.api">Reader</a>&gt;&nbsp;createReaderAsync(String&nbsp;topic,
-                                            <a href="../../../../../org/apache/pulsar/client/api/MessageId.html" title="interface in org.apache.pulsar.client.api">MessageId</a>&nbsp;startMessageId,
-                                            <a href="../../../../../org/apache/pulsar/client/api/ReaderConfiguration.html" title="class in org.apache.pulsar.client.api">ReaderConfiguration</a>&nbsp;conf)</pre>
+<pre>@Deprecated
+CompletableFuture&lt;<a href="../../../../../org/apache/pulsar/client/api/Reader.html" title="interface in org.apache.pulsar.client.api">Reader</a>&gt;&nbsp;createReaderAsync(String&nbsp;topic,
+                                                        <a href="../../../../../org/apache/pulsar/client/api/MessageId.html" title="interface in org.apache.pulsar.client.api">MessageId</a>&nbsp;startMessageId,
+                                                        <a href="../../../../../org/apache/pulsar/client/api/ReaderConfiguration.html" title="class in org.apache.pulsar.client.api">ReaderConfiguration</a>&nbsp;conf)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;<span class="deprecationComment">Use <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#newReader--"><code>newReader()</code></a> to build a new reader</span></div>
 <div class="block">Asynchronously create a topic reader with given <code>ReaderConfiguration</code> for reading messages from the
  specified topic.
  <p>
diff --git a/content/api/client/org/apache/pulsar/client/api/Reader.html b/content/api/client/org/apache/pulsar/client/api/Reader.html
index c8ae116..2ab6f4e 100644
--- a/content/api/client/org/apache/pulsar/client/api/Reader.html
+++ b/content/api/client/org/apache/pulsar/client/api/Reader.html
@@ -48,7 +48,7 @@ var activeTableTab = "activeTableTab";
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/pulsar/client/api/PulsarClientException.UnsupportedAuthenticationException.html" title="class in org.apache.pulsar.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/pulsar/client/api/ReaderConfiguration.html" title="class in org.apache.pulsar.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/pulsar/client/api/Reader.html" target="_top">Frames</a></li>
@@ -325,7 +325,7 @@ extends Closeable</pre>
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/pulsar/client/api/PulsarClientException.UnsupportedAuthenticationException.html" title="class in org.apache.pulsar.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/pulsar/client/api/ReaderConfiguration.html" title="class in org.apache.pulsar.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/pulsar/client/api/Reader.html" target="_top">Frames</a></li>
diff --git a/content/api/client/org/apache/pulsar/client/api/ReaderBuilder.html b/content/api/client/org/apache/pulsar/client/api/ReaderBuilder.html
new file mode 100644
index 0000000..dd2d7fa
--- /dev/null
+++ b/content/api/client/org/apache/pulsar/client/api/ReaderBuilder.html
@@ -0,0 +1,448 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<title>ReaderBuilder (Pulsar Client Java API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="ReaderBuilder (Pulsar Client Java API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
+var altColor = "altColor";
+var rowColor = "rowColor";
+var tableTab = "tableTab";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/pulsar/client/api/Reader.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/ReaderConfiguration.html" title="class in org.apache.pulsar.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/pulsar/client/api/ReaderBuilder.html" target="_top">Frames</a></li>
+<li><a href="ReaderBuilder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.pulsar.client.api</div>
+<h2 title="Interface ReaderBuilder" class="title">Interface ReaderBuilder</h2>
+</div>
+<div class="contentContainer">
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Superinterfaces:</dt>
+<dd>Cloneable, Serializable</dd>
+</dl>
+<hr>
+<br>
+<pre>public interface <span class="typeNameLabel">ReaderBuilder</span>
+extends Serializable, Cloneable</pre>
+<div class="block"><a href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api"><code>ReaderBuilder</code></a> is used to configure and create instances of <a href="../../../../../org/apache/pulsar/client/api/Reader.html" title="interface in org.apache.pulsar.client.api"><code>Reader</code></a>.</div>
+<dl>
+<dt><span class="simpleTagLabel">Since:</span></dt>
+<dd>2.0.0</dd>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#newReader--"><code>PulsarClient.newReader()</code></a></dd>
+</dl>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api">ReaderBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html#clone--">clone</a></span>()</code>
+<div class="block">Create a copy of the current <a href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api"><code>ReaderBuilder</code></a>.</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/Reader.html" title="interface in org.apache.pulsar.client.api">Reader</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html#create--">create</a></span>()</code>
+<div class="block">Finalize the creation of the <a href="../../../../../org/apache/pulsar/client/api/Reader.html" title="interface in org.apache.pulsar.client.api"><code>Reader</code></a> instance.</div>
+</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>CompletableFuture&lt;<a href="../../../../../org/apache/pulsar/client/api/Reader.html" title="interface in org.apache.pulsar.client.api">Reader</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html#createAsync--">createAsync</a></span>()</code>
+<div class="block">Finalize the creation of the <a href="../../../../../org/apache/pulsar/client/api/Reader.html" title="interface in org.apache.pulsar.client.api"><code>Reader</code></a> instance in asynchronous mode.</div>
+</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api">ReaderBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html#cryptoFailureAction-org.apache.pulsar.client.api.ConsumerCryptoFailureAction-">cryptoFailureAction</a></span>(<a href="../../../../../org/apache/pulsar/client/api/ConsumerCryptoFailureAction.html" title="enum in org.apache.pulsar.client.api">ConsumerCryptoFailureAction</a>&nbsp;action)</code>
+<div class="block">Sets the ConsumerCryptoFailureAction to the value specified</div>
+</td>
+</tr>
+<tr id="i4" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api">ReaderBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html#cryptoKeyReader-org.apache.pulsar.client.api.CryptoKeyReader-">cryptoKeyReader</a></span>(<a href="../../../../../org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api">CryptoKeyReader</a>&nbsp;cryptoKeyReader)</code>
+<div class="block">Sets a <a href="../../../../../org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api"><code>CryptoKeyReader</code></a></div>
+</td>
+</tr>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api">ReaderBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html#readerListener-org.apache.pulsar.client.api.ReaderListener-">readerListener</a></span>(<a href="../../../../../org/apache/pulsar/client/api/ReaderListener.html" title="interface in org.apache.pulsar.client.api">ReaderListener</a>&nbsp;readerListener)</code>
+<div class="block">Sets a <a href="../../../../../org/apache/pulsar/client/api/ReaderListener.html" title="interface in org.apache.pulsar.client.api"><code>ReaderListener</code></a> for the reader</div>
+</td>
+</tr>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api">ReaderBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html#readerName-java.lang.String-">readerName</a></span>(String&nbsp;readerName)</code>
+<div class="block">Set the reader name.</div>
+</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api">ReaderBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html#receiverQueueSize-int-">receiverQueueSize</a></span>(int&nbsp;receiverQueueSize)</code>
+<div class="block">Sets the size of the consumer receive queue.</div>
+</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api">ReaderBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html#startMessageId-org.apache.pulsar.client.api.MessageId-">startMessageId</a></span>(<a href="../../../../../org/apache/pulsar/client/api/MessageId.html" title="interface in org.apache.pulsar.client.api">MessageId</a>&nbsp;startMessageId)</code>
+<div class="block">The initial reader positioning is done by specifying a message id.</div>
+</td>
+</tr>
+<tr id="i9" class="rowColor">
+<td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api">ReaderBuilder</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html#topic-java.lang.String-">topic</a></span>(String&nbsp;topicName)</code>
+<div class="block">Specify the topic this consumer will subscribe on.</div>
+</td>
+</tr>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="create--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>create</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/Reader.html" title="interface in org.apache.pulsar.client.api">Reader</a>&nbsp;create()
+       throws <a href="../../../../../org/apache/pulsar/client/api/PulsarClientException.html" title="class in org.apache.pulsar.client.api">PulsarClientException</a></pre>
+<div class="block">Finalize the creation of the <a href="../../../../../org/apache/pulsar/client/api/Reader.html" title="interface in org.apache.pulsar.client.api"><code>Reader</code></a> instance.
+
+ <p>
+ This method will block until the reader is created successfully.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the reader instance</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../../org/apache/pulsar/client/api/PulsarClientException.html" title="class in org.apache.pulsar.client.api">PulsarClientException</a></code> - if the reader creation fails</dd>
+</dl>
+</li>
+</ul>
+<a name="createAsync--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>createAsync</h4>
+<pre>CompletableFuture&lt;<a href="../../../../../org/apache/pulsar/client/api/Reader.html" title="interface in org.apache.pulsar.client.api">Reader</a>&gt;&nbsp;createAsync()</pre>
+<div class="block">Finalize the creation of the <a href="../../../../../org/apache/pulsar/client/api/Reader.html" title="interface in org.apache.pulsar.client.api"><code>Reader</code></a> instance in asynchronous mode.
+
+ <p>
+ This method will return a <code>CompletableFuture</code> that can be used to access the instance when it's ready.</div>
+<dl>
+<dt><span class="returnLabel">Returns:</span></dt>
+<dd>the reader instance</dd>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="../../../../../org/apache/pulsar/client/api/PulsarClientException.html" title="class in org.apache.pulsar.client.api">PulsarClientException</a></code> - if the reader creation fails</dd>
+</dl>
+</li>
+</ul>
+<a name="clone--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>clone</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api">ReaderBuilder</a>&nbsp;clone()</pre>
+<div class="block">Create a copy of the current <a href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api"><code>ReaderBuilder</code></a>.
+ <p>
+ Cloning the builder can be used to share an incomplete configuration and specialize it multiple times. For
+ example:
+
+ <pre>
+ ReaderBuilder builder = client.newReader().readerName("my-reader").receiverQueueSize(10);
+
+ Reader reader1 = builder.clone().topic(TOPIC_1).create();
+ Reader reader2 = builder.clone().topic(TOPIC_2).create();
+ </pre></div>
+</li>
+</ul>
+<a name="topic-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>topic</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api">ReaderBuilder</a>&nbsp;topic(String&nbsp;topicName)</pre>
+<div class="block">Specify the topic this consumer will subscribe on.
+ <p>
+ This argument is required when constructing the consumer.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>topicName</code> - </dd>
+</dl>
+</li>
+</ul>
+<a name="startMessageId-org.apache.pulsar.client.api.MessageId-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>startMessageId</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api">ReaderBuilder</a>&nbsp;startMessageId(<a href="../../../../../org/apache/pulsar/client/api/MessageId.html" title="interface in org.apache.pulsar.client.api">MessageId</a>&nbsp;startMessageId)</pre>
+<div class="block">The initial reader positioning is done by specifying a message id. The options are:
+ <ul>
+ <li><code>MessageId.earliest</code> : Start reading from the earliest message available in the topic
+ <li><code>MessageId.latest</code> : Start reading from the end topic, only getting messages published after the
+ reader was created
+ <li><code>MessageId</code> : When passing a particular message id, the reader will position itself on that
+ specific position. The first message to be read will be the message next to the specified messageId.
+ </ul></div>
+</li>
+</ul>
+<a name="readerListener-org.apache.pulsar.client.api.ReaderListener-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>readerListener</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api">ReaderBuilder</a>&nbsp;readerListener(<a href="../../../../../org/apache/pulsar/client/api/ReaderListener.html" title="interface in org.apache.pulsar.client.api">ReaderListener</a>&nbsp;readerListener)</pre>
+<div class="block">Sets a <a href="../../../../../org/apache/pulsar/client/api/ReaderListener.html" title="interface in org.apache.pulsar.client.api"><code>ReaderListener</code></a> for the reader
+ <p>
+ When a <a href="../../../../../org/apache/pulsar/client/api/ReaderListener.html" title="interface in org.apache.pulsar.client.api"><code>ReaderListener</code></a> is set, application will receive messages through it. Calls to
+ <a href="../../../../../org/apache/pulsar/client/api/Reader.html#readNext--"><code>Reader.readNext()</code></a> will not be allowed.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>readerListener</code> - the listener object</dd>
+</dl>
+</li>
+</ul>
+<a name="cryptoKeyReader-org.apache.pulsar.client.api.CryptoKeyReader-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>cryptoKeyReader</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api">ReaderBuilder</a>&nbsp;cryptoKeyReader(<a href="../../../../../org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api">CryptoKeyReader</a>&nbsp;cryptoKeyReader)</pre>
+<div class="block">Sets a <a href="../../../../../org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api"><code>CryptoKeyReader</code></a></div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>cryptoKeyReader</code> - CryptoKeyReader object</dd>
+</dl>
+</li>
+</ul>
+<a name="cryptoFailureAction-org.apache.pulsar.client.api.ConsumerCryptoFailureAction-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>cryptoFailureAction</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api">ReaderBuilder</a>&nbsp;cryptoFailureAction(<a href="../../../../../org/apache/pulsar/client/api/ConsumerCryptoFailureAction.html" title="enum in org.apache.pulsar.client.api">ConsumerCryptoFailureAction</a>&nbsp;action)</pre>
+<div class="block">Sets the ConsumerCryptoFailureAction to the value specified</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>action</code> - The action to take when the decoding fails</dd>
+</dl>
+</li>
+</ul>
+<a name="receiverQueueSize-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>receiverQueueSize</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api">ReaderBuilder</a>&nbsp;receiverQueueSize(int&nbsp;receiverQueueSize)</pre>
+<div class="block">Sets the size of the consumer receive queue.
+ <p>
+ The consumer receive queue controls how many messages can be accumulated by the <a href="../../../../../org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api"><code>Consumer</code></a> before the
+ application calls <a href="../../../../../org/apache/pulsar/client/api/Consumer.html#receive--"><code>Consumer.receive()</code></a>. Using a higher value could potentially increase the consumer
+ throughput at the expense of bigger memory utilization.
+ </p>
+ Default value is <code>1000</code> messages and should be good for most use cases.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>receiverQueueSize</code> - the new receiver queue size value</dd>
+</dl>
+</li>
+</ul>
+<a name="readerName-java.lang.String-">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>readerName</h4>
+<pre><a href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api">ReaderBuilder</a>&nbsp;readerName(String&nbsp;readerName)</pre>
+<div class="block">Set the reader name.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>readerName</code> - </dd>
+</dl>
+</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/pulsar/client/api/Reader.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/ReaderConfiguration.html" title="class in org.apache.pulsar.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/pulsar/client/api/ReaderBuilder.html" target="_top">Frames</a></li>
+<li><a href="ReaderBuilder.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li>Field&nbsp;|&nbsp;</li>
+<li>Constr&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+</body>
+</html>
diff --git a/content/api/client/org/apache/pulsar/client/api/ReaderConfiguration.html b/content/api/client/org/apache/pulsar/client/api/ReaderConfiguration.html
index 0781d47..cdec51e 100644
--- a/content/api/client/org/apache/pulsar/client/api/ReaderConfiguration.html
+++ b/content/api/client/org/apache/pulsar/client/api/ReaderConfiguration.html
@@ -17,8 +17,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":42,"i1":42,"i2":42,"i3":42,"i4":42,"i5":42,"i6":42,"i7":42,"i8":42,"i9":42};
+var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"],32:["t6","Deprecated Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
 var tableTab = "tableTab";
@@ -47,7 +47,7 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/pulsar/client/api/Reader.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/pulsar/client/api/ReaderListener.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -110,8 +110,12 @@ var activeTableTab = "activeTableTab";
 <dd>Serializable</dd>
 </dl>
 <hr>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;
+<div class="block"><span class="deprecationComment">Use <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#newReader--"><code>PulsarClient.newReader()</code></a> to construct and configure a <a href="../../../../../org/apache/pulsar/client/api/Reader.html" title="interface in org.apache.pulsar.client.api"><code>Reader</code></a> instance</span></div>
+</div>
 <br>
-<pre>public class <span class="typeNameLabel">ReaderConfiguration</span>
+<pre>@Deprecated
+public class <span class="typeNameLabel">ReaderConfiguration</span>
 extends Object
 implements Serializable</pre>
 <dl>
@@ -136,7 +140,9 @@ implements Serializable</pre>
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ReaderConfiguration.html#ReaderConfiguration--">ReaderConfiguration</a></span>()</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ReaderConfiguration.html#ReaderConfiguration--">ReaderConfiguration</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -148,58 +154,73 @@ implements Serializable</pre>
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t6" class="tableTab"><span><a href="javascript:show(32);">Deprecated Methods</a></span><span class="t [...]
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ConsumerCryptoFailureAction.html" title="enum in org.apache.pulsar.client.api">ConsumerCryptoFailureAction</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ReaderConfiguration.html#getCryptoFailureAction--">getCryptoFailureAction</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ReaderConfiguration.html#getCryptoFailureAction--">getCryptoFailureAction</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i1" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api">CryptoKeyReader</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ReaderConfiguration.html#getCryptoKeyReader--">getCryptoKeyReader</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ReaderConfiguration.html#getCryptoKeyReader--">getCryptoKeyReader</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ReaderListener.html" title="interface in org.apache.pulsar.client.api">ReaderListener</a></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ReaderConfiguration.html#getReaderListener--">getReaderListener</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ReaderConfiguration.html#getReaderListener--">getReaderListener</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
 <td class="colFirst"><code>String</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ReaderConfiguration.html#getReaderName--">getReaderName</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ReaderConfiguration.html#getReaderName--">getReaderName</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i4" class="altColor">
 <td class="colFirst"><code>int</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ReaderConfiguration.html#getReceiverQueueSize--">getReceiverQueueSize</a></span>()</code>&nbsp;</td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ReaderConfiguration.html#getReceiverQueueSize--">getReceiverQueueSize</a></span>()</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
+&nbsp;</td>
 </tr>
 <tr id="i5" class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ReaderConfiguration.html#setCryptoFailureAction-org.apache.pulsar.client.api.ConsumerCryptoFailureAction-">setCryptoFailureAction</a></span>(<a href="../../../../../org/apache/pulsar/client/api/ConsumerCryptoFailureAction.html" title="enum in org.apache.pulsar.client.api">ConsumerCryptoFailureAction</a>&nbsp;action)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Sets the ConsumerCryptoFailureAction to the value specified</div>
 </td>
 </tr>
 <tr id="i6" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ReaderConfiguration.html" title="class in org.apache.pulsar.client.api">ReaderConfiguration</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ReaderConfiguration.html#setCryptoKeyReader-org.apache.pulsar.client.api.CryptoKeyReader-">setCryptoKeyReader</a></span>(<a href="../../../../../org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api">CryptoKeyReader</a>&nbsp;cryptoKeyReader)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Sets a <a href="../../../../../org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api"><code>CryptoKeyReader</code></a></div>
 </td>
 </tr>
 <tr id="i7" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ReaderConfiguration.html" title="class in org.apache.pulsar.client.api">ReaderConfiguration</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ReaderConfiguration.html#setReaderListener-org.apache.pulsar.client.api.ReaderListener-">setReaderListener</a></span>(<a href="../../../../../org/apache/pulsar/client/api/ReaderListener.html" title="interface in org.apache.pulsar.client.api">ReaderListener</a>&nbsp;readerListener)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Sets a <a href="../../../../../org/apache/pulsar/client/api/ReaderListener.html" title="interface in org.apache.pulsar.client.api"><code>ReaderListener</code></a> for the reader</div>
 </td>
 </tr>
 <tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ReaderConfiguration.html" title="class in org.apache.pulsar.client.api">ReaderConfiguration</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ReaderConfiguration.html#setReaderName-java.lang.String-">setReaderName</a></span>(String&nbsp;readerName)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the consumer name.</div>
 </td>
 </tr>
 <tr id="i9" class="rowColor">
 <td class="colFirst"><code><a href="../../../../../org/apache/pulsar/client/api/ReaderConfiguration.html" title="class in org.apache.pulsar.client.api">ReaderConfiguration</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/pulsar/client/api/ReaderConfiguration.html#setReceiverQueueSize-int-">setReceiverQueueSize</a></span>(int&nbsp;receiverQueueSize)</code>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Sets the size of the consumer receive queue.</div>
 </td>
 </tr>
@@ -232,6 +253,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>ReaderConfiguration</h4>
 <pre>public&nbsp;ReaderConfiguration()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 </li>
@@ -249,6 +271,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>getReaderListener</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/ReaderListener.html" title="interface in org.apache.pulsar.client.api">ReaderListener</a>&nbsp;getReaderListener()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the configured <a href="../../../../../org/apache/pulsar/client/api/ReaderListener.html" title="interface in org.apache.pulsar.client.api"><code>ReaderListener</code></a> for the reader</dd>
@@ -262,6 +285,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>setReaderListener</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/ReaderConfiguration.html" title="class in org.apache.pulsar.client.api">ReaderConfiguration</a>&nbsp;setReaderListener(<a href="../../../../../org/apache/pulsar/client/api/ReaderListener.html" title="interface in org.apache.pulsar.client.api">ReaderListener</a>&nbsp;readerListener)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Sets a <a href="../../../../../org/apache/pulsar/client/api/ReaderListener.html" title="interface in org.apache.pulsar.client.api"><code>ReaderListener</code></a> for the reader
  <p>
  When a <a href="../../../../../org/apache/pulsar/client/api/ReaderListener.html" title="interface in org.apache.pulsar.client.api"><code>ReaderListener</code></a> is set, application will receive messages through it. Calls to
@@ -279,6 +303,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>getReceiverQueueSize</h4>
 <pre>public&nbsp;int&nbsp;getReceiverQueueSize()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the configure receiver queue size value</dd>
@@ -292,6 +317,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>getCryptoKeyReader</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api">CryptoKeyReader</a>&nbsp;getCryptoKeyReader()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the CryptoKeyReader</dd>
@@ -305,6 +331,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>setCryptoKeyReader</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/ReaderConfiguration.html" title="class in org.apache.pulsar.client.api">ReaderConfiguration</a>&nbsp;setCryptoKeyReader(<a href="../../../../../org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api">CryptoKeyReader</a>&nbsp;cryptoKeyReader)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Sets a <a href="../../../../../org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api"><code>CryptoKeyReader</code></a></div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -319,10 +346,11 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>setCryptoFailureAction</h4>
 <pre>public&nbsp;void&nbsp;setCryptoFailureAction(<a href="../../../../../org/apache/pulsar/client/api/ConsumerCryptoFailureAction.html" title="enum in org.apache.pulsar.client.api">ConsumerCryptoFailureAction</a>&nbsp;action)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Sets the ConsumerCryptoFailureAction to the value specified</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
-<dd><code>The</code> - consumer action</dd>
+<dd><code>action</code> - The action to take when the decoding fails</dd>
 </dl>
 </li>
 </ul>
@@ -333,6 +361,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>getCryptoFailureAction</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/ConsumerCryptoFailureAction.html" title="enum in org.apache.pulsar.client.api">ConsumerCryptoFailureAction</a>&nbsp;getCryptoFailureAction()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>The ConsumerCryptoFailureAction</dd>
@@ -346,6 +375,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>setReceiverQueueSize</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/ReaderConfiguration.html" title="class in org.apache.pulsar.client.api">ReaderConfiguration</a>&nbsp;setReceiverQueueSize(int&nbsp;receiverQueueSize)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Sets the size of the consumer receive queue.
  <p>
  The consumer receive queue controls how many messages can be accumulated by the <a href="../../../../../org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api"><code>Consumer</code></a> before the
@@ -366,6 +396,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>getReaderName</h4>
 <pre>public&nbsp;String&nbsp;getReaderName()</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>the consumer name</dd>
@@ -379,6 +410,7 @@ implements Serializable</pre>
 <li class="blockList">
 <h4>setReaderName</h4>
 <pre>public&nbsp;<a href="../../../../../org/apache/pulsar/client/api/ReaderConfiguration.html" title="class in org.apache.pulsar.client.api">ReaderConfiguration</a>&nbsp;setReaderName(String&nbsp;readerName)</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 <div class="block">Set the consumer name.</div>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -413,7 +445,7 @@ implements Serializable</pre>
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/pulsar/client/api/Reader.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/pulsar/client/api/ReaderListener.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
diff --git a/content/api/client/org/apache/pulsar/client/api/package-frame.html b/content/api/client/org/apache/pulsar/client/api/package-frame.html
index ebaccf8..ffc6ce4 100644
--- a/content/api/client/org/apache/pulsar/client/api/package-frame.html
+++ b/content/api/client/org/apache/pulsar/client/api/package-frame.html
@@ -14,7 +14,9 @@
 <ul title="Interfaces">
 <li><a href="Authentication.html" title="interface in org.apache.pulsar.client.api" target="classFrame"><span class="interfaceName">Authentication</span></a></li>
 <li><a href="AuthenticationDataProvider.html" title="interface in org.apache.pulsar.client.api" target="classFrame"><span class="interfaceName">AuthenticationDataProvider</span></a></li>
+<li><a href="ClientBuilder.html" title="interface in org.apache.pulsar.client.api" target="classFrame"><span class="interfaceName">ClientBuilder</span></a></li>
 <li><a href="Consumer.html" title="interface in org.apache.pulsar.client.api" target="classFrame"><span class="interfaceName">Consumer</span></a></li>
+<li><a href="ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api" target="classFrame"><span class="interfaceName">ConsumerBuilder</span></a></li>
 <li><a href="ConsumerEventListener.html" title="interface in org.apache.pulsar.client.api" target="classFrame"><span class="interfaceName">ConsumerEventListener</span></a></li>
 <li><a href="CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api" target="classFrame"><span class="interfaceName">CryptoKeyReader</span></a></li>
 <li><a href="EncodedAuthenticationParameterSupport.html" title="interface in org.apache.pulsar.client.api" target="classFrame"><span class="interfaceName">EncodedAuthenticationParameterSupport</span></a></li>
@@ -24,8 +26,10 @@
 <li><a href="MessageListener.html" title="interface in org.apache.pulsar.client.api" target="classFrame"><span class="interfaceName">MessageListener</span></a></li>
 <li><a href="MessageRouter.html" title="interface in org.apache.pulsar.client.api" target="classFrame"><span class="interfaceName">MessageRouter</span></a></li>
 <li><a href="Producer.html" title="interface in org.apache.pulsar.client.api" target="classFrame"><span class="interfaceName">Producer</span></a></li>
+<li><a href="ProducerBuilder.html" title="interface in org.apache.pulsar.client.api" target="classFrame"><span class="interfaceName">ProducerBuilder</span></a></li>
 <li><a href="PulsarClient.html" title="interface in org.apache.pulsar.client.api" target="classFrame"><span class="interfaceName">PulsarClient</span></a></li>
 <li><a href="Reader.html" title="interface in org.apache.pulsar.client.api" target="classFrame"><span class="interfaceName">Reader</span></a></li>
+<li><a href="ReaderBuilder.html" title="interface in org.apache.pulsar.client.api" target="classFrame"><span class="interfaceName">ReaderBuilder</span></a></li>
 <li><a href="ReaderListener.html" title="interface in org.apache.pulsar.client.api" target="classFrame"><span class="interfaceName">ReaderListener</span></a></li>
 <li><a href="TopicMetadata.html" title="interface in org.apache.pulsar.client.api" target="classFrame"><span class="interfaceName">TopicMetadata</span></a></li>
 </ul>
@@ -43,6 +47,7 @@
 <ul title="Enums">
 <li><a href="CompressionType.html" title="enum in org.apache.pulsar.client.api" target="classFrame">CompressionType</a></li>
 <li><a href="ConsumerCryptoFailureAction.html" title="enum in org.apache.pulsar.client.api" target="classFrame">ConsumerCryptoFailureAction</a></li>
+<li><a href="MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api" target="classFrame">MessageRoutingMode</a></li>
 <li><a href="ProducerConfiguration.HashingScheme.html" title="enum in org.apache.pulsar.client.api" target="classFrame">ProducerConfiguration.HashingScheme</a></li>
 <li><a href="ProducerConfiguration.MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api" target="classFrame">ProducerConfiguration.MessageRoutingMode</a></li>
 <li><a href="ProducerCryptoFailureAction.html" title="enum in org.apache.pulsar.client.api" target="classFrame">ProducerCryptoFailureAction</a></li>
diff --git a/content/api/client/org/apache/pulsar/client/api/package-summary.html b/content/api/client/org/apache/pulsar/client/api/package-summary.html
index 0062227..feda8c7 100644
--- a/content/api/client/org/apache/pulsar/client/api/package-summary.html
+++ b/content/api/client/org/apache/pulsar/client/api/package-summary.html
@@ -91,11 +91,23 @@
 </td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api">ClientBuilder</a></td>
+<td class="colLast">
+<div class="block">Builder interface that is used to construct a <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api"><code>PulsarClient</code></a> instance.</div>
+</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api">Consumer</a></td>
 <td class="colLast">
 <div class="block">An interface that abstracts behavior of Pulsar's consumer.</div>
 </td>
 </tr>
+<tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api">ConsumerBuilder</a></td>
+<td class="colLast">
+<div class="block"><a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api"><code>ConsumerBuilder</code></a> is used to configure and create instances of <a href="../../../../../org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api"><code>Consumer</code></a>.</div>
+</td>
+</tr>
 <tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/pulsar/client/api/ConsumerEventListener.html" title="interface in org.apache.pulsar.client.api">ConsumerEventListener</a></td>
 <td class="colLast">
@@ -148,17 +160,29 @@
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api">PulsarClient</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api">ProducerBuilder</a></td>
 <td class="colLast">
-<div class="block">Class that provides a client interface to Pulsar</div>
+<div class="block"><a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api"><code>ProducerBuilder</code></a> is used to configure and create instances of <a href="../../../../../org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api"><code>Producer</code></a>.</div>
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api">PulsarClient</a></td>
+<td class="colLast">
+<div class="block">Class that provides a client interface to Pulsar.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/pulsar/client/api/Reader.html" title="interface in org.apache.pulsar.client.api">Reader</a></td>
 <td class="colLast">
 <div class="block">A Reader can be used to scan through all the messages currently available in a topic.</div>
 </td>
 </tr>
+<tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api">ReaderBuilder</a></td>
+<td class="colLast">
+<div class="block"><a href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api"><code>ReaderBuilder</code></a> is used to configure and create instances of <a href="../../../../../org/apache/pulsar/client/api/Reader.html" title="interface in org.apache.pulsar.client.api"><code>Reader</code></a>.</div>
+</td>
+</tr>
 <tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/pulsar/client/api/ReaderListener.html" title="interface in org.apache.pulsar.client.api">ReaderListener</a></td>
 <td class="colLast">
@@ -192,14 +216,14 @@
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/pulsar/client/api/ClientConfiguration.html" title="class in org.apache.pulsar.client.api">ClientConfiguration</a></td>
-<td class="colLast">
-<div class="block">Class used to specify client side configuration like authentication, etc..</div>
+<td class="colLast">Deprecated
+<div class="block"><span class="deprecationComment">Use <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#builder--"><code>PulsarClient.builder()</code></a> to construct and configure a new <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html" title="interface in org.apache.pulsar.client.api"><code>PulsarClient</code></a> instance</span></div>
 </td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/pulsar/client/api/ConsumerConfiguration.html" title="class in org.apache.pulsar.client.api">ConsumerConfiguration</a></td>
-<td class="colLast">
-<div class="block">Class specifying the configuration of a consumer.</div>
+<td class="colLast">Deprecated
+<div class="block"><span class="deprecationComment">Use <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#newConsumer--"><code>PulsarClient.newConsumer()</code></a> to build and configure a <a href="../../../../../org/apache/pulsar/client/api/Consumer.html" title="interface in org.apache.pulsar.client.api"><code>Consumer</code></a> instance</span></div>
 </td>
 </tr>
 <tr class="altColor">
@@ -208,13 +232,15 @@
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.html" title="class in org.apache.pulsar.client.api">ProducerConfiguration</a></td>
-<td class="colLast">
-<div class="block">Producer's configuration</div>
+<td class="colLast">Deprecated
+<div class="block"><span class="deprecationComment">use <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#newProducer--"><code>PulsarClient.newProducer()</code></a> to construct and configure a <a href="../../../../../org/apache/pulsar/client/api/Producer.html" title="interface in org.apache.pulsar.client.api"><code>Producer</code></a> instance</span></div>
 </td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/pulsar/client/api/ReaderConfiguration.html" title="class in org.apache.pulsar.client.api">ReaderConfiguration</a></td>
-<td class="colLast">&nbsp;</td>
+<td class="colLast">Deprecated
+<div class="block"><span class="deprecationComment">Use <a href="../../../../../org/apache/pulsar/client/api/PulsarClient.html#newReader--"><code>PulsarClient.newReader()</code></a> to construct and configure a <a href="../../../../../org/apache/pulsar/client/api/Reader.html" title="interface in org.apache.pulsar.client.api"><code>Reader</code></a> instance</span></div>
+</td>
 </tr>
 </tbody>
 </table>
@@ -236,18 +262,22 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.HashingScheme.html" title="enum in org.apache.pulsar.client.api">ProducerConfiguration.HashingScheme</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/pulsar/client/api/MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api">MessageRoutingMode</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api">ProducerConfiguration.MessageRoutingMode</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.HashingScheme.html" title="enum in org.apache.pulsar.client.api">ProducerConfiguration.HashingScheme</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/pulsar/client/api/ProducerCryptoFailureAction.html" title="enum in org.apache.pulsar.client.api">ProducerCryptoFailureAction</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api">ProducerConfiguration.MessageRoutingMode</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/pulsar/client/api/ProducerCryptoFailureAction.html" title="enum in org.apache.pulsar.client.api">ProducerCryptoFailureAction</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/pulsar/client/api/SubscriptionType.html" title="enum in org.apache.pulsar.client.api">SubscriptionType</a></td>
 <td class="colLast">
 <div class="block">Types of subscription supported by Pulsar</div>
diff --git a/content/api/client/org/apache/pulsar/client/api/package-tree.html b/content/api/client/org/apache/pulsar/client/api/package-tree.html
index 76c9a72..41ec1d0 100644
--- a/content/api/client/org/apache/pulsar/client/api/package-tree.html
+++ b/content/api/client/org/apache/pulsar/client/api/package-tree.html
@@ -148,6 +148,14 @@
 </li>
 </ul>
 </li>
+<li type="circle">Cloneable
+<ul>
+<li type="circle">org.apache.pulsar.client.api.<a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">ClientBuilder</span></a> (also extends Serializable)</li>
+<li type="circle">org.apache.pulsar.client.api.<a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">ConsumerBuilder</span></a> (also extends Serializable)</li>
+<li type="circle">org.apache.pulsar.client.api.<a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">ProducerBuilder</span></a> (also extends Serializable)</li>
+<li type="circle">org.apache.pulsar.client.api.<a href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">ReaderBuilder</span></a> (also extends Serializable)</li>
+</ul>
+</li>
 <li type="circle">Comparable&lt;T&gt;
 <ul>
 <li type="circle">org.apache.pulsar.client.api.<a href="../../../../../org/apache/pulsar/client/api/MessageId.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">MessageId</span></a></li>
@@ -162,8 +170,12 @@
 <ul>
 <li type="circle">org.apache.pulsar.client.api.<a href="../../../../../org/apache/pulsar/client/api/Authentication.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Authentication</span></a> (also extends Closeable)</li>
 <li type="circle">org.apache.pulsar.client.api.<a href="../../../../../org/apache/pulsar/client/api/AuthenticationDataProvider.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">AuthenticationDataProvider</span></a></li>
+<li type="circle">org.apache.pulsar.client.api.<a href="../../../../../org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">ClientBuilder</span></a> (also extends Cloneable)</li>
+<li type="circle">org.apache.pulsar.client.api.<a href="../../../../../org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">ConsumerBuilder</span></a> (also extends Cloneable)</li>
 <li type="circle">org.apache.pulsar.client.api.<a href="../../../../../org/apache/pulsar/client/api/MessageListener.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">MessageListener</span></a></li>
 <li type="circle">org.apache.pulsar.client.api.<a href="../../../../../org/apache/pulsar/client/api/MessageRouter.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">MessageRouter</span></a></li>
+<li type="circle">org.apache.pulsar.client.api.<a href="../../../../../org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">ProducerBuilder</span></a> (also extends Cloneable)</li>
+<li type="circle">org.apache.pulsar.client.api.<a href="../../../../../org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">ReaderBuilder</span></a> (also extends Cloneable)</li>
 <li type="circle">org.apache.pulsar.client.api.<a href="../../../../../org/apache/pulsar/client/api/ReaderListener.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">ReaderListener</span></a></li>
 </ul>
 </li>
@@ -177,6 +189,7 @@
 <ul>
 <li type="circle">org.apache.pulsar.client.api.<a href="../../../../../org/apache/pulsar/client/api/CompressionType.html" title="enum in org.apache.pulsar.client.api"><span class="typeNameLink">CompressionType</span></a></li>
 <li type="circle">org.apache.pulsar.client.api.<a href="../../../../../org/apache/pulsar/client/api/ConsumerCryptoFailureAction.html" title="enum in org.apache.pulsar.client.api"><span class="typeNameLink">ConsumerCryptoFailureAction</span></a></li>
+<li type="circle">org.apache.pulsar.client.api.<a href="../../../../../org/apache/pulsar/client/api/MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api"><span class="typeNameLink">MessageRoutingMode</span></a></li>
 <li type="circle">org.apache.pulsar.client.api.<a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.HashingScheme.html" title="enum in org.apache.pulsar.client.api"><span class="typeNameLink">ProducerConfiguration.HashingScheme</span></a></li>
 <li type="circle">org.apache.pulsar.client.api.<a href="../../../../../org/apache/pulsar/client/api/ProducerConfiguration.MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api"><span class="typeNameLink">ProducerConfiguration.MessageRoutingMode</span></a></li>
 <li type="circle">org.apache.pulsar.client.api.<a href="../../../../../org/apache/pulsar/client/api/ProducerCryptoFailureAction.html" title="enum in org.apache.pulsar.client.api"><span class="typeNameLink">ProducerCryptoFailureAction</span></a></li>
diff --git a/content/api/client/overview-tree.html b/content/api/client/overview-tree.html
index 80bdc51..9353e28 100644
--- a/content/api/client/overview-tree.html
+++ b/content/api/client/overview-tree.html
@@ -156,6 +156,14 @@
 </li>
 </ul>
 </li>
+<li type="circle">Cloneable
+<ul>
+<li type="circle">org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">ClientBuilder</span></a> (also extends Serializable)</li>
+<li type="circle">org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">ConsumerBuilder</span></a> (also extends Serializable)</li>
+<li type="circle">org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">ProducerBuilder</span></a> (also extends Serializable)</li>
+<li type="circle">org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">ReaderBuilder</span></a> (also extends Serializable)</li>
+</ul>
+</li>
 <li type="circle">Comparable&lt;T&gt;
 <ul>
 <li type="circle">org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/MessageId.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">MessageId</span></a></li>
@@ -170,8 +178,12 @@
 <ul>
 <li type="circle">org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/Authentication.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">Authentication</span></a> (also extends Closeable)</li>
 <li type="circle">org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/AuthenticationDataProvider.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">AuthenticationDataProvider</span></a></li>
+<li type="circle">org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ClientBuilder.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">ClientBuilder</span></a> (also extends Cloneable)</li>
+<li type="circle">org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerBuilder.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">ConsumerBuilder</span></a> (also extends Cloneable)</li>
 <li type="circle">org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/MessageListener.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">MessageListener</span></a></li>
 <li type="circle">org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/MessageRouter.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">MessageRouter</span></a></li>
+<li type="circle">org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerBuilder.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">ProducerBuilder</span></a> (also extends Cloneable)</li>
+<li type="circle">org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ReaderBuilder.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">ReaderBuilder</span></a> (also extends Cloneable)</li>
 <li type="circle">org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ReaderListener.html" title="interface in org.apache.pulsar.client.api"><span class="typeNameLink">ReaderListener</span></a></li>
 </ul>
 </li>
@@ -185,6 +197,7 @@
 <ul>
 <li type="circle">org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/CompressionType.html" title="enum in org.apache.pulsar.client.api"><span class="typeNameLink">CompressionType</span></a></li>
 <li type="circle">org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ConsumerCryptoFailureAction.html" title="enum in org.apache.pulsar.client.api"><span class="typeNameLink">ConsumerCryptoFailureAction</span></a></li>
+<li type="circle">org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api"><span class="typeNameLink">MessageRoutingMode</span></a></li>
 <li type="circle">org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.HashingScheme.html" title="enum in org.apache.pulsar.client.api"><span class="typeNameLink">ProducerConfiguration.HashingScheme</span></a></li>
 <li type="circle">org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerConfiguration.MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api"><span class="typeNameLink">ProducerConfiguration.MessageRoutingMode</span></a></li>
 <li type="circle">org.apache.pulsar.client.api.<a href="org/apache/pulsar/client/api/ProducerCryptoFailureAction.html" title="enum in org.apache.pulsar.client.api"><span class="typeNameLink">ProducerCryptoFailureAction</span></a></li>
diff --git a/content/api/client/serialized-form.html b/content/api/client/serialized-form.html
index 7b18db2..76d7f14 100644
--- a/content/api/client/serialized-form.html
+++ b/content/api/client/serialized-form.html
@@ -90,54 +90,67 @@
 <li class="blockList">
 <h4>authentication</h4>
 <pre><a href="org/apache/pulsar/client/api/Authentication.html" title="interface in org.apache.pulsar.client.api">Authentication</a> authentication</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>operationTimeoutMs</h4>
 <pre>long operationTimeoutMs</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>statsIntervalSeconds</h4>
 <pre>long statsIntervalSeconds</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>numIoThreads</h4>
 <pre>int numIoThreads</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>numListenerThreads</h4>
 <pre>int numListenerThreads</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>connectionsPerBroker</h4>
 <pre>int connectionsPerBroker</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>useTcpNoDelay</h4>
 <pre>boolean useTcpNoDelay</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>useTls</h4>
 <pre>boolean useTls</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>tlsTrustCertsFilePath</h4>
 <pre>String tlsTrustCertsFilePath</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>tlsAllowInsecureConnection</h4>
 <pre>boolean tlsAllowInsecureConnection</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>tlsHostnameVerificationEnable</h4>
 <pre>boolean tlsHostnameVerificationEnable</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>concurrentLookupRequest</h4>
 <pre>int concurrentLookupRequest</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockListLast">
 <h4>maxNumberOfRejectedRequestPerConnection</h4>
 <pre>int maxNumberOfRejectedRequestPerConnection</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 </li>
@@ -158,50 +171,62 @@
 <li class="blockList">
 <h4>subscriptionType</h4>
 <pre><a href="org/apache/pulsar/client/api/SubscriptionType.html" title="enum in org.apache.pulsar.client.api">SubscriptionType</a> subscriptionType</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>messageListener</h4>
 <pre><a href="org/apache/pulsar/client/api/MessageListener.html" title="interface in org.apache.pulsar.client.api">MessageListener</a> messageListener</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>consumerEventListener</h4>
 <pre><a href="org/apache/pulsar/client/api/ConsumerEventListener.html" title="interface in org.apache.pulsar.client.api">ConsumerEventListener</a> consumerEventListener</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>receiverQueueSize</h4>
 <pre>int receiverQueueSize</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>maxTotalReceiverQueueSizeAcrossPartitions</h4>
 <pre>int maxTotalReceiverQueueSizeAcrossPartitions</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>consumerName</h4>
 <pre>String consumerName</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>ackTimeoutMillis</h4>
 <pre>long ackTimeoutMillis</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>priorityLevel</h4>
 <pre>int priorityLevel</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>cryptoKeyReader</h4>
 <pre><a href="org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api">CryptoKeyReader</a> cryptoKeyReader</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>cryptoFailureAction</h4>
 <pre><a href="org/apache/pulsar/client/api/ConsumerCryptoFailureAction.html" title="enum in org.apache.pulsar.client.api">ConsumerCryptoFailureAction</a> cryptoFailureAction</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>properties</h4>
 <pre>Map&lt;K,V&gt; properties</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockListLast">
 <h4>readCompacted</h4>
 <pre>boolean readCompacted</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 </li>
@@ -222,70 +247,87 @@
 <li class="blockList">
 <h4>producerName</h4>
 <pre>String producerName</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>sendTimeoutMs</h4>
 <pre>long sendTimeoutMs</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>blockIfQueueFull</h4>
 <pre>boolean blockIfQueueFull</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>maxPendingMessages</h4>
 <pre>int maxPendingMessages</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>maxPendingMessagesAcrossPartitions</h4>
 <pre>int maxPendingMessagesAcrossPartitions</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>messageRouteMode</h4>
 <pre><a href="org/apache/pulsar/client/api/ProducerConfiguration.MessageRoutingMode.html" title="enum in org.apache.pulsar.client.api">ProducerConfiguration.MessageRoutingMode</a> messageRouteMode</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>hashingScheme</h4>
 <pre><a href="org/apache/pulsar/client/api/ProducerConfiguration.HashingScheme.html" title="enum in org.apache.pulsar.client.api">ProducerConfiguration.HashingScheme</a> hashingScheme</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>customMessageRouter</h4>
 <pre><a href="org/apache/pulsar/client/api/MessageRouter.html" title="interface in org.apache.pulsar.client.api">MessageRouter</a> customMessageRouter</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>batchingMaxPublishDelayMs</h4>
 <pre>long batchingMaxPublishDelayMs</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>batchingMaxMessages</h4>
 <pre>int batchingMaxMessages</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>batchingEnabled</h4>
 <pre>boolean batchingEnabled</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>cryptoKeyReader</h4>
 <pre><a href="org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api">CryptoKeyReader</a> cryptoKeyReader</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>encryptionKeys</h4>
 <pre>&lt;any&gt; encryptionKeys</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>compressionType</h4>
 <pre><a href="org/apache/pulsar/client/api/CompressionType.html" title="enum in org.apache.pulsar.client.api">CompressionType</a> compressionType</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>initialSequenceId</h4>
 <pre>Long initialSequenceId</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>properties</h4>
 <pre>Map&lt;K,V&gt; properties</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockListLast">
 <h4>cryptoFailureAction</h4>
 <pre><a href="org/apache/pulsar/client/api/ProducerCryptoFailureAction.html" title="enum in org.apache.pulsar.client.api">ProducerCryptoFailureAction</a> cryptoFailureAction</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 </li>
@@ -436,22 +478,27 @@
 <li class="blockList">
 <h4>receiverQueueSize</h4>
 <pre>int receiverQueueSize</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>readerListener</h4>
 <pre><a href="org/apache/pulsar/client/api/ReaderListener.html" title="interface in org.apache.pulsar.client.api">ReaderListener</a> readerListener</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>readerName</h4>
 <pre>String readerName</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockList">
 <h4>cryptoKeyReader</h4>
 <pre><a href="org/apache/pulsar/client/api/CryptoKeyReader.html" title="interface in org.apache.pulsar.client.api">CryptoKeyReader</a> cryptoKeyReader</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 <li class="blockListLast">
 <h4>cryptoFailureAction</h4>
 <pre><a href="org/apache/pulsar/client/api/ConsumerCryptoFailureAction.html" title="enum in org.apache.pulsar.client.api">ConsumerCryptoFailureAction</a> cryptoFailureAction</pre>
+<div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
 </li>

-- 
To stop receiving notification emails like this one, please contact
mmerli@apache.org.