Operator RabbitMQSink
SPL standard and specialized toolkits > com.ibm.streamsx.messaging 5.3.0 > com.ibm.streamsx.messaging.rabbitmq > RabbitMQSink
This operator acts as a RabbitMQ producer, sending messages to a RabbitMQ broker. The broker is assumed to be already configured and running. The incoming stream can have three attributes: message, routing_key, and messageHeader. The message is a required attribute. The exchange name, queue name, and routing key can be specified using parameters. If a specified exchange does not exist, it will be created as a non-durable exchange. All exchanges created by this operator are non-durable and auto-delete.This operator supports direct, fanout, and topic exchanges. It does not support header exchanges. Messages are non-persistent and sending will only be attempted once by default. This behavior can be modified using the deliveryMode and maxMessageSendRetries parameters.
Behavior in a Consistent Region This operator can participate in a consistent region. It cannot be the start of a consistent region.
AppConfig: The hierarchy of credentials goes: credentials from the appConfig beat out parameters (username and password). The valid key-value pairs in the appConfig are <userPropName>=<username> and <passwordPropName>=<password>, where <userPropName> and <passwordPropName> are specified by the corresponding parameters. This operator will only automatically recover with new credentials from the appConfig if automaticRecovery is set to true.
Summary
- Ports
- This operator has 1 input port and 0 output ports.
- Windowing
- This operator does not accept any windowing configurations.
- Parameters
- This operator supports 18 parameters.
Optional: URI, appConfigName, automaticRecovery, deliveryMode, exchangeName, exchangeType, hostAndPort, maxMessageSendRetries, messageAttribute, messageSendRetryDelay, msgHeaderAttribute, password, passwordPropName, routingKeyAttribute, setNetworkRecoveryInterval, userPropName, username, virtualHost
- Metrics
- This operator reports 2 metrics.
Properties
- Implementation
- Java
- Ports (0)
- Properties
-
- Optional: false
- ControlPort: false
- WindowingMode: NonWindowed
- WindowPunctuationInputMode: Oblivious
Optional: URI, appConfigName, automaticRecovery, deliveryMode, exchangeName, exchangeType, hostAndPort, maxMessageSendRetries, messageAttribute, messageSendRetryDelay, msgHeaderAttribute, password, passwordPropName, routingKeyAttribute, setNetworkRecoveryInterval, userPropName, username, virtualHost
- URI
Convenience URI of form: amqp://userName:password@hostName:portNumber/virtualHost. If URI is specified, you cannot specify username, password, and host.
- Properties
-
- Type: rstring
- Cardinality: 1
- Optional: true
- appConfigName
This parameter specifies the name of application configuration that stores client credentials, the property specified via application configuration is overridden by the application parameters. The hierarchy of credentials goes: credentials from the appConfig beat out parameters (username and password). The valid key-value pairs in the appConfig are <userPropName>=<username> and <passwordPropName>=<password>, where <userPropName> and <passwordPropName> are specified by the corresponding parameters. If the operator loses connection to the RabbitMQ server, or it fails authentication, it will check for new credentials in the appConfig and attempt to reconnect if they exist. The attempted reconnection will only take place if automaticRecovery is set to true (which it is by default).
- Properties
-
- Type: rstring
- Cardinality: 1
- Optional: true
- automaticRecovery
Have connections to RabbitMQ automatically recovered. Default is true.
- Properties
-
- Type: boolean
- Cardinality: 1
- Optional: true
- deliveryMode
Marks message as persistent(2) or non-persistent(1). Default as 1.
- Properties
-
- Type: int32
- Cardinality: 1
- Optional: true
- exchangeName
Name of the RabbitMQ exchange to send messages to. To use default RabbitMQ exchange, use empty quotes or do not specify: "".
- Properties
-
- Type: rstring
- Cardinality: 1
- Optional: true
- exchangeType
Optional attribute. Name of the RabbitMQ exchange type. Default direct.
- Properties
-
- Type: rstring
- Cardinality: 1
- Optional: true
- hostAndPort
List of host and port in form: "myhost1:3456","myhost2:3456".
- maxMessageSendRetries
This optional parameter specifies the number of successive retries that are attempted for a message if a failure occurs when the message is sent. The default value is zero; no retries are attempted.
- Properties
-
- Type: int32
- Cardinality: 1
- Optional: true
- messageAttribute
Name of the attribute for the message. Default is "message".
- Properties
-
- Type: rstring
- Cardinality: 1
- Optional: true
- messageSendRetryDelay
This optional parameter specifies the time in milliseconds to wait before the next delivery attempt. If the maxMessageSendRetries is specified, you must also specify a value for this parameter.
- Properties
-
- Type: int32
- Cardinality: 1
- Optional: true
- msgHeaderAttribute
Name of the attribute for the message_header. Schema of type must be Map<ustring,ustring>. Default is "message_header".
- Properties
-
- Type: rstring
- Cardinality: 1
- Optional: true
- password
Password for RabbitMQ authentication.
- Properties
-
- Type: rstring
- Cardinality: 1
- Optional: true
- passwordPropName
This parameter specifies the property name of password in the application configuration. If the appConfigName parameter is specified and the passwordPropName parameter is not set, a compile time error occurs.
- Properties
-
- Type: rstring
- Cardinality: 1
- Optional: true
- routingKeyAttribute
Name of the attribute for the routing_key. Default is "routing_key".
- Properties
-
- Type: rstring
- Cardinality: 1
- Optional: true
- setNetworkRecoveryInterval
If automaticRecovery is set to true, this is the interval (in ms) that will be used between reconnection attempts. The default is 5000 ms.
- Properties
-
- Type: int64
- Cardinality: 1
- Optional: true
- userPropName
This parameter specifies the property name of user name in the application configuration. If the appConfigName parameter is specified and the userPropName parameter is not set, a compile time error occurs.
- Properties
-
- Type: rstring
- Cardinality: 1
- Optional: true
- username
Username for RabbitMQ authentication.
- Properties
-
- Type: rstring
- Cardinality: 1
- Optional: true
- virtualHost
Set Virtual Host. Default is null.
- Properties
-
- Type: rstring
- Cardinality: 1
- Optional: true
- Operator class library
- Library Path: ../../impl/lib/com.ibm.streamsx.messaging.jar, ../../opt/downloaded/*