Elements of a Message Stream
Like Notifications, Message Streams can be either into or out of FME, or both:
However, rather than use the Notification service with Readers and Writers, Message Streams are handled by transformers. A "receiver" transformer acts as a subscriber, listening to a message stream and responding when one is received. A "sender" transformer acts as a publisher, creating a message and sending it 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.
Transformer | Protocol | |
---|---|---|
Receiver | Sender | |
JMSReceiver | JMSSender | Java Messaging Service (JMS) |
WebSocketReceiver | WebSocketSender | HTML5 WebSockets |
TCPIPReceiver | TCPIPSender | Transmission Control Protocol (TCP) |
SQSReceiver | SQSSender | Amazon Simple Queue Service (SQS) |
KinesisReceiver | KinesisSender | Amazon Kinesis Streams |
TweetStreamer | Tweeter | Twitter API |
PythonCreator | PythonCaller | Others |
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 shutdown 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.
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.
Miss Vector says … |
Which of the Receiver transformers has a parameter to stop it running continuously? Select all that apply.
1. SQSReceiver 2. WebSocketReceiver 3. JMSReceiver 4. TCPIPReceiver |