Message Flow

The start command initiates the message flow through the adapter.

This figure shows the inbound message flow.


InboundMessageFlow

On start-up, the adapter subscribes to all subjects listed in the inbound section of the configuration file. Wildcard subscriptions are supported. Inbound messages are received via client API callbacks. The messages are passed on to the Message Distributor.

The Message Distributor converts each Rendezvous message into a record targeting one or more data streams. The records are now ready to be published to Event Stream Processor, but they are not published immediately. Records are queued, then picked up by the SpPublisher object on separate threads, one thread for each record queue. You can configure the queue capacity. A larger queue is less likely to overflow in the event of a message burst. When the queue becomes three-quarters full, a warning is logged. Another warning is logged when the queue returns to three-quarters empty. If the queue is full, the adapter waits until room becomes available before placing the next record.

Records are published asynchronously. The adapter receives no feedback from Event Stream Processor. In the event of a failover, the Pub/Sub API switches, as configured to the spare Event Stream Processor instance without message loss.

Note: For outbound records, opcodes (values for ESP_OPS) are not communicated to the TIBCO Rendezvous server. For inbound records, all records have "p" (upsert) set as the opcode before publishing to the Server.