private void configureProducerBuilder()

in pulsar-client-reactive-adapter/src/main/java/org/apache/pulsar/reactive/client/internal/adapter/AdaptedReactiveMessageSender.java [83:191]


	private void configureProducerBuilder(ProducerBuilder<T> producerBuilder) {
		if (this.senderSpec.getTopicName() != null) {
			producerBuilder.topic(this.senderSpec.getTopicName());
		}

		if (this.senderSpec.getProducerName() != null) {
			producerBuilder.producerName(this.senderSpec.getProducerName());
		}

		if (this.senderSpec.getSendTimeout() != null) {
			producerBuilder.sendTimeout((int) (this.senderSpec.getSendTimeout().toMillis() / 1000L), TimeUnit.SECONDS);
		}

		if (this.senderSpec.getMaxPendingMessages() != null) {
			producerBuilder.maxPendingMessages(this.senderSpec.getMaxPendingMessages());
		}

		if (this.senderSpec.getMaxPendingMessagesAcrossPartitions() != null) {
			producerBuilder.maxPendingMessagesAcrossPartitions(this.senderSpec.getMaxPendingMessagesAcrossPartitions());
		}

		if (this.senderSpec.getMessageRoutingMode() != null) {
			producerBuilder.messageRoutingMode(this.senderSpec.getMessageRoutingMode());
		}

		if (this.senderSpec.getHashingScheme() != null) {
			producerBuilder.hashingScheme(this.senderSpec.getHashingScheme());
		}

		if (this.senderSpec.getCryptoFailureAction() != null) {
			producerBuilder.cryptoFailureAction(this.senderSpec.getCryptoFailureAction());
		}

		if (this.senderSpec.getMessageRouter() != null) {
			producerBuilder.messageRouter(this.senderSpec.getMessageRouter());
		}

		if (this.senderSpec.getBatchingMaxPublishDelay() != null) {
			producerBuilder.batchingMaxPublishDelay(this.senderSpec.getBatchingMaxPublishDelay().toNanos(),
					TimeUnit.NANOSECONDS);
		}

		if (this.senderSpec.getRoundRobinRouterBatchingPartitionSwitchFrequency() != null) {
			producerBuilder.roundRobinRouterBatchingPartitionSwitchFrequency(
					this.senderSpec.getRoundRobinRouterBatchingPartitionSwitchFrequency());
		}

		if (this.senderSpec.getBatchingMaxMessages() != null) {
			producerBuilder.batchingMaxMessages(this.senderSpec.getBatchingMaxMessages());
		}

		if (this.senderSpec.getBatchingMaxBytes() != null) {
			producerBuilder.batchingMaxBytes(this.senderSpec.getBatchingMaxBytes());
		}

		if (this.senderSpec.getBatchingEnabled() != null) {
			producerBuilder.enableBatching(this.senderSpec.getBatchingEnabled());
		}

		if (this.senderSpec.getBatcherBuilder() != null) {
			producerBuilder.batcherBuilder(this.senderSpec.getBatcherBuilder());
		}

		if (this.senderSpec.getChunkingEnabled() != null) {
			producerBuilder.enableChunking(this.senderSpec.getChunkingEnabled());
		}

		if (this.senderSpec.getCryptoKeyReader() != null) {
			producerBuilder.cryptoKeyReader(this.senderSpec.getCryptoKeyReader());
		}

		if (this.senderSpec.getEncryptionKeys() != null && !this.senderSpec.getEncryptionKeys().isEmpty()) {
			this.senderSpec.getEncryptionKeys().forEach(producerBuilder::addEncryptionKey);
		}

		if (this.senderSpec.getCompressionType() != null) {
			producerBuilder.compressionType(this.senderSpec.getCompressionType());
		}

		if (this.senderSpec.getInitialSequenceId() != null) {
			producerBuilder.initialSequenceId(this.senderSpec.getInitialSequenceId());
		}

		if (this.senderSpec.getAutoUpdatePartitions() != null) {
			producerBuilder.autoUpdatePartitions(this.senderSpec.getAutoUpdatePartitions());
		}

		if (this.senderSpec.getAutoUpdatePartitionsInterval() != null) {
			producerBuilder.autoUpdatePartitionsInterval(
					(int) (this.senderSpec.getAutoUpdatePartitionsInterval().toMillis() / 1000L), TimeUnit.SECONDS);
		}

		if (this.senderSpec.getMultiSchema() != null) {
			producerBuilder.enableMultiSchema(this.senderSpec.getMultiSchema());
		}

		if (this.senderSpec.getAccessMode() != null) {
			producerBuilder.accessMode(this.senderSpec.getAccessMode());
		}

		if (this.senderSpec.getLazyStartPartitionedProducers() != null) {
			producerBuilder.enableLazyStartPartitionedProducers(this.senderSpec.getLazyStartPartitionedProducers());
		}

		if (this.senderSpec.getProperties() != null && !this.senderSpec.getProperties().isEmpty()) {
			producerBuilder
				.properties(Collections.unmodifiableMap(new LinkedHashMap<>(this.senderSpec.getProperties())));
		}
	}