Caller’s Thread

The Caller’s Thread option uses the thread (and queue size) provided by the channel resource client, such as the Enterprise Message Service client.

There is one caller’s thread per destination. The same thread executes the RTC phase.

Caller’s Thread

This option has no tuning controls.

Property Notes
CDD Editor > Collections > Destinations > Threading Model: Caller’s Thread
  Specifies that the caller threading model is used.
Advantages Disadvantages
  • If the destination uses a single thread (JMS but not HTTP), using this option ensures that the events are processed in the order received.
  • The messaging library's thread does the message delivery, pre-processing and the Rete operations, so there is less context switching.
  • The messaging system cannot push events faster than the rate at which it can get consumed, so the system is self-throttling.
  • Best option for request-reply situations.
  • To scale up, many destinations have to be created in order to create that number of caller threads. (And doing so is not always possible, for example, if you need to process messages in the order received.)
  • Because each destination creates a JMS session, a session might be under used. On some operating systems, sockets and sessions could be very under-used.