Whether idempotence is enabled, where the server will ensure that unique messages within a
single publisher session are stored only once. Default true.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[],[],null,["# Class PublisherSettings.Builder (1.15.13)\n\nVersion latestkeyboard_arrow_down\n\n- [1.15.13 (latest)](/java/docs/reference/google-cloud-pubsublite/latest/com.google.cloud.pubsublite.cloudpubsub.PublisherSettings.Builder)\n- [1.15.12](/java/docs/reference/google-cloud-pubsublite/1.15.12/com.google.cloud.pubsublite.cloudpubsub.PublisherSettings.Builder)\n- [1.14.8](/java/docs/reference/google-cloud-pubsublite/1.14.8/com.google.cloud.pubsublite.cloudpubsub.PublisherSettings.Builder)\n- [1.13.8](/java/docs/reference/google-cloud-pubsublite/1.13.8/com.google.cloud.pubsublite.cloudpubsub.PublisherSettings.Builder)\n- [1.12.22](/java/docs/reference/google-cloud-pubsublite/1.12.22/com.google.cloud.pubsublite.cloudpubsub.PublisherSettings.Builder)\n- [1.11.2](/java/docs/reference/google-cloud-pubsublite/1.11.2/com.google.cloud.pubsublite.cloudpubsub.PublisherSettings.Builder)\n- [1.10.0](/java/docs/reference/google-cloud-pubsublite/1.10.0/com.google.cloud.pubsublite.cloudpubsub.PublisherSettings.Builder)\n- [1.9.4](/java/docs/reference/google-cloud-pubsublite/1.9.4/com.google.cloud.pubsublite.cloudpubsub.PublisherSettings.Builder)\n- [1.8.0](/java/docs/reference/google-cloud-pubsublite/1.8.0/com.google.cloud.pubsublite.cloudpubsub.PublisherSettings.Builder)\n- [1.7.1](/java/docs/reference/google-cloud-pubsublite/1.7.1/com.google.cloud.pubsublite.cloudpubsub.PublisherSettings.Builder)\n- [1.6.3](/java/docs/reference/google-cloud-pubsublite/1.6.3/com.google.cloud.pubsublite.cloudpubsub.PublisherSettings.Builder)\n- [1.5.5](/java/docs/reference/google-cloud-pubsublite/1.5.5/com.google.cloud.pubsublite.cloudpubsub.PublisherSettings.Builder)\n- [1.4.12](/java/docs/reference/google-cloud-pubsublite/1.4.12/com.google.cloud.pubsublite.cloudpubsub.PublisherSettings.Builder) \n\n public abstract static class PublisherSettings.Builder\n\nInheritance\n-----------\n\n[java.lang.Object](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html) \\\u003e PublisherSettings.Builder \n\nInherited Members\n-----------------\n\n[Object.clone()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#clone--) \n[Object.equals(Object)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#equals-java.lang.Object-) \n[Object.finalize()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#finalize--) \n[Object.getClass()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#getClass--) \n[Object.hashCode()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#hashCode--) \n[Object.notify()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notify--) \n[Object.notifyAll()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notifyAll--) \n[Object.toString()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#toString--) \n[Object.wait()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait--) \n[Object.wait(long)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-) \n[Object.wait(long,int)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-int-)\n\nConstructors\n------------\n\n### Builder()\n\n public Builder()\n\nMethods\n-------\n\n### build()\n\n public abstract PublisherSettings build()\n\n### setAdminClient(AdminClient adminClient)\n\n public abstract PublisherSettings.Builder setAdminClient(AdminClient adminClient)\n\nThe AdminClient to use, if provided.\n\n### setBatchingSettings(BatchingSettings batchingSettings)\n\n public abstract PublisherSettings.Builder setBatchingSettings(BatchingSettings batchingSettings)\n\nBatching settings for this publisher to use. Apply per-partition.\n\n### setCredentialsProvider(CredentialsProvider credentialsProvider)\n\n public abstract PublisherSettings.Builder setCredentialsProvider(CredentialsProvider credentialsProvider)\n\nA provider for credentials.\n\n### setEnableCompression(boolean enableCompression)\n\n public abstract PublisherSettings.Builder setEnableCompression(boolean enableCompression)\n\nWhether request compression is enabled. Default true.\n\n### setEnableIdempotence(boolean enableIdempotence)\n\n public abstract PublisherSettings.Builder setEnableIdempotence(boolean enableIdempotence)\n\nWhether idempotence is enabled, where the server will ensure that unique messages within a\nsingle publisher session are stored only once. Default true.\n\n### setFramework(PubsubContext.Framework framework)\n\n public abstract PublisherSettings.Builder setFramework(PubsubContext.Framework framework)\n\nA Framework tag for internal metrics. Please set this if integrating with a public framework!\n\n### setKeyExtractor(KeyExtractor keyExtractor)\n\n public abstract PublisherSettings.Builder setKeyExtractor(KeyExtractor keyExtractor)\n\nA KeyExtractor for getting the routing key from a message.\n\n### setMessageTransformer(MessageTransformer\\\u003cPubsubMessage,Message\\\u003e messageTransformer)\n\n public abstract PublisherSettings.Builder setMessageTransformer(MessageTransformer\u003cPubsubMessage,Message\u003e messageTransformer)\n\nA MessageTransformer for constructing wire messages from Cloud Pub/Sub PubsubMessages.\n\n### setServiceClient(PublisherServiceClient client)\n\n public abstract PublisherSettings.Builder setServiceClient(PublisherServiceClient client)\n\nThe PublisherServiceClient to use, if provided.\n\n### setTopicPath(TopicPath path)\n\n public abstract PublisherSettings.Builder setTopicPath(TopicPath path)\n\nThe topic path to publish to."]]