Class PublishPulsar

java.lang.Object
org.apache.nifi.components.AbstractConfigurableComponent
org.apache.nifi.processor.AbstractSessionFactoryProcessor
org.apache.nifi.processor.AbstractProcessor
org.apache.nifi.processors.pulsar.AbstractPulsarProducerProcessor<byte[]>
org.apache.nifi.processors.pulsar.pubsub.PublishPulsar
All Implemented Interfaces:
org.apache.nifi.components.ConfigurableComponent, org.apache.nifi.processor.Processor

@SeeAlso({ConsumePulsar.class,ConsumePulsarRecord.class,PublishPulsarRecord.class}) @Tags({"Apache","Pulsar","Put","Send","Message","PubSub"}) @CapabilityDescription("Sends the contents of a FlowFile as a message to Apache Pulsar using the Pulsar Producer API.The messages to send may be individual FlowFiles or may be delimited, using a user-specified delimiter, such as a new-line. The complementary NiFi processor for fetching messages is ConsumePulsar.") @InputRequirement(INPUT_REQUIRED) @WritesAttribute(attribute="msg.count", description="The number of messages that were sent to Pulsar for this FlowFile. This attribute is added only to This attribute is added only to FlowFiles that are routed to success.") @TriggerWhenEmpty public class PublishPulsar extends AbstractPulsarProducerProcessor<byte[]>
  • Constructor Details

    • PublishPulsar

      public PublishPulsar()
  • Method Details

    • onTrigger

      public void onTrigger(org.apache.nifi.processor.ProcessContext context, org.apache.nifi.processor.ProcessSession session) throws org.apache.nifi.processor.exception.ProcessException
      Specified by:
      onTrigger in class org.apache.nifi.processor.AbstractProcessor
      Throws:
      org.apache.nifi.processor.exception.ProcessException
    • send

      private void send(org.apache.pulsar.client.api.Producer<byte[]> producer, org.apache.nifi.processor.ProcessContext context, org.apache.nifi.processor.ProcessSession session, org.apache.nifi.flowfile.FlowFile flowFile, byte[] demarcatorBytes) throws org.apache.pulsar.client.api.PulsarClientException
      Sends the FlowFile content using the demarcator.
      Parameters:
      producer -
      context - - The current ProcessContext
      session - - The current ProcessSession.
      flowFile -
      demarcatorBytes - - The value used to identify unique records in the list
      Throws:
      org.apache.pulsar.client.api.PulsarClientException