All Downloads are FREE. Search and download functionalities are using the official Maven repository.

io.kestra.plugin.pulsar.ByteArrayProducer Maven / Gradle / Ivy

package io.kestra.plugin.pulsar;

import java.util.Map;

import org.apache.pulsar.client.api.*;

import io.kestra.core.runners.RunContext;

public class ByteArrayProducer extends AbstractProducer{
    
    private final SerdeType serializer;
    
    public ByteArrayProducer(RunContext runContext, PulsarClient client, SerdeType serializer) {
        super(runContext, client);
        this.serializer = serializer;
    }
    
    @Override
    protected ProducerBuilder getProducerBuilder(PulsarClient client) {
        return client.newProducer();
    }
    
    @Override
    protected TypedMessageBuilder createMessageWithValue(Map renderedMap) throws Exception {
        this.producer = this.producerBuilder.create();
        TypedMessageBuilder message = this.producer.newMessage();
        if (renderedMap.containsKey("value")) {
            message.value(this.serializer.serialize(renderedMap.get("value")));
        }

        return message;
    }
    
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy