Channels and input events
Adapters, Apama client applications, and tools such as the engine_send correlator utility send events into the correlator. Each incoming event is associated with a channel either explicitly or implicitly. An event that has a channel explicitly set is delivered on the specified channel. An event that does not have a channel explicitly set is delivered on the default channel. The default channel's name is the empty string.
An incoming event that is sent on the default channel goes to each public context. In addition, contexts can subscribe to channels of interest (see
Subscribing to channels). An incoming event for which a channel is explicitly set goes to each context that is subscribed to its associated channel. If there are no contexts subscribed to the specified channel the event is discarded.
Events sent into the correlator from, for example, clients and adapters, are not normally delivered to external receivers. However, external receivers can specify the com.apama.input channel in their configuration. This is a wildcard for all events coming into the correlator. Also, an external receiver can specify com.apama.input.channel_name to receive correlator input events that are associated with that particular channel.
When two events are sent to different channels there is no ordering guarantee. The only guarantee is that events going from the same source to the same destination on the same channel will be delivered in order. Also, if there is an external connection with, for example, an adapter or client, then the events must use the same connection for them to be delivered in the same order.
All routable event types can be sent to channels, including event types defined in monitors.
An Apama application can use Software AG's Universal Messaging (UM) message bus to deliver events on specified channels. If a correlator is configured to connect to UM then a channel might have a corresponding UM channel.