docstr: Creates a new RabbitMQ source.
  
  For exactly-once, you must set the correlation ids of messages at the producer.
  The correlation id must be unique. Otherwise the behavior of the source is undefined.
  
  If in doubt, set use_correlation_id to False.
  
  When correlation ids are not used, this source has at-least-once processing semantics
  when checkpointing is enabled.
  
  :param connection_config: The RabbiMQ connection configuration.
  :param queue_name: The queue to receive messages from.
  :param use_correlation_id: Whether the messages received are supplied with a unique id
                             to deduplicate messages (in case of failed acknowledgments).
                             Only used when checkpointing is enabled.
  :param deserialization_schema: A deserializer used to convert between RabbitMQ's
                                 messages and Flink's objects.
docstr_tok: ["Creates","a","new","RabbitMQ","source",".","For","exactly-once",",","you","must","set","the","correlation","ids","of","messages","at","the","producer",".","The","correlation","id","must","be","unique",".","Otherwise","the","behavior","of","the","source","is","undefined",".","If","in","doubt",",","set","use_correlation_id","to","False",".","When","correlation","ids","are","not","used",",","this","source","has","at-least-once","processing","semantics","when","checkpointing","is","enabled",".",":","param","connection_config",":","The","RabbiMQ","connection","configuration",".",":","param","queue_name",":","The","queue","to","receive","messages","from",".",":","param","use_correlation_id",":","Whether","the","messages","received","are","supplied","with","a","unique","id","to","deduplicate","messages","(","in","case","of","failed","acknowledgments",")",".","Only","used","when","checkpointing","is","enabled",".",":","param","deserialization_schema",":","A","deserializer","used","to","convert","between","RabbitMQ's","messages","and","Flink","'s","objects","."]
code: def __init__(
      self,
      connection_config: "RMQConnectionConfig",
      queue_name: str,
      use_correlation_id: bool,
      deserialization_schema: DeserializationSchema,
  ):
      """
      Creates a new RabbitMQ source.
  
      For exactly-once, you must set the correlation ids of messages at the producer.
      The correlation id must be unique. Otherwise the behavior of the source is undefined.
  
      If in doubt, set use_correlation_id to False.
  
      When correlation ids are not used, this source has at-least-once processing semantics
      when checkpointing is enabled.
  
      :param connection_config: The RabbiMQ connection configuration.
      :param queue_name: The queue to receive messages from.
      :param use_correlation_id: Whether the messages received are supplied with a unique id
                                 to deduplicate messages (in case of failed acknowledgments).
                                 Only used when checkpointing is enabled.
      :param deserialization_schema: A deserializer used to convert between RabbitMQ's
                                     messages and Flink's objects.
      """
      JRMQSource = (
          get_gateway().jvm.org.apache.flink.streaming.connectors.rabbitmq.RMQSource
      )
      j_rmq_source = JRMQSource(
          connection_config._j_rmq_connection_config,
          queue_name,
          use_correlation_id,
          deserialization_schema._j_deserialization_schema,
      )
      super(RMQSource, self).__init__(source_func=j_rmq_source)
  
imports: from pyflink.common import SerializationSchema, DeserializationSchema
  from pyflink.datastream.functions import SinkFunction, SourceFunction
  from pyflink.java_gateway import get_gateway
label_desc: Use image node_id 1 to create a new RMQSource object from inherited base classes: SourceFunction with example: obj = RMQSource(connection_config, queue_name, use_correlation_id, deserialization_schema)