Elements of a Message Stream

Like Notifications, Message Streams can come into or out of FME:

However, rather than using Automations with workspace readers and writers, message streams are handled by transformers. A "receiver" transformer acts as an action, listening to a message stream and responding when a message is received. A "sender" transformer acts as a trigger, creating a message and sending it directly to an open message stream.

Transformers and Protocols

A number of transformers can handle message streams, each of which is tied to a specific protocol.

TransformerProtocol
KafkaConnectorApache Kafka
AzureQueueStorageConnectorAzure Storage Service Queues
JMSReceiverJMSSenderJava Messaging Service (JMS)
KinesisReceiverKinesisSenderAmazon Kinesis Streams
SNSSenderAmazon Simple Notification Service (SNS)
SQSConnectorAmazon Simple Queue Service (SQS)
TCPIPReceiverTCPIPSenderTransmission Control Protocol (TCP)
TweetStreamerTweeterTwitter API
WebSocketReceiverWebSocketSenderHTML5 WebSockets
PythonCreatorPythonCallerOthers

Receiver Transformers

All receiver transformers in this list are designed to listen continuously to a message source and emit features only when a message arrives. Even then, the transformers will go on listening and awaiting more messages. Therefore, a workspace containing any of these transformers will run continuously and not need to be stopped or started for each message.

Sender Transformers

All sender transformers in this list will emit a message for each feature that enters. They don't, by themselves, keep a workspace running continuously and will shut down when incoming data is exhausted. However they will keep their connection open if a receiver is still running; therefore a continuous flow of outgoing messages requires both a receiver and sender.

Connector Transformers

Connector transformers have an Action parameter that allows for setting them up to function as a sender or a receiver and a Mode parameter to allow them to stream data as it is received.

Python Transformers

The PythonCreator and PythonCaller aren't specifically designed to connect to particular message protocols, but they can be made to do so and are particularly useful for protocols not otherwise supported in FME.

results matching ""

    No results matching ""