Configuring the Grid for Processing
Once you have implemented your inbound interfaces, you will need to configure the nodes in your Platform cluster to process the messages. As with all message processing, this is done by configuring various grid TaskPerformers of type Dequeue in dvce-app-config. This gives you the flexibility for configuration such as:
I want a pool of 5 threads to process messages across all 10 of my queues
<TaskPerformerConfig><Type>Dequeue</Type><NumberOfThreads>5</NumberOfThreads><TaskPerformerClassName>com.transcendsys.platform.integ.message.DequeueTaskPerformer</TaskPerformerClassName><Queuename="inbox/MyQueue1"vcID="9123"/><Queuename="inbox/MyQueue2"vcID="9123"/>...<Queuename="inbox/MyQueue10"vcID="9123"/></TaskPerformerConfig>I want a thread dedicated to just 1 queue, and then a pool of 5 threads for my other 9 queues.
<TaskPerformerConfig><Type>Dequeue</Type><NumberOfThreads>1</NumberOfThreads><TaskPerformerClassName>com.transcendsys.platform.integ.message.DequeueTaskPerformer</TaskPerformerClassName><Queuename="inbox/MyQueue1"vcID="9123"/></TaskPerformerConfig><TaskPerformerConfig><Type>Dequeue</Type><NumberOfThreads>5</NumberOfThreads><TaskPerformerClassName>com.transcendsys.platform.integ.message.DequeueTaskPerformer</TaskPerformerClassName><Queuename="inbox/MyQueue2"vcID="9123"/><Queuename="inbox/MyQueue3"vcID="9123"/>...<Queuename="inbox/MyQueue10"vcID="9123"/></TaskPerformerConfig>I want a separate thread dedicated to each queue
<TaskPerformerConfig><Type>Dequeue</Type><NumberOfThreads>1</NumberOfThreads><TaskPerformerClassName>com.transcendsys.platform.integ.message.DequeueTaskPerformer</TaskPerformerClassName><Queuename="inbox/MyQueue1"vcID="9123"/></TaskPerformerConfig>...<TaskPerformerConfig><Type>Dequeue</Type><NumberOfThreads>1</NumberOfThreads><TaskPerformerClassName>com.transcendsys.platform.integ.message.DequeueTaskPerformer</TaskPerformerClassName><Queuename="inbox/MyQueue10"vcID="9123"/></TaskPerformerConfig>I want multiple threads processing a single non-exclusive-consumer queue
<TaskPerformerConfig><Type>Dequeue</Type><NumberOfThreads>5</NumberOfThreads><TaskPerformerClassName>com.transcendsys.platform.integ.message.DequeueTaskPerformer</TaskPerformerClassName><Queuename="inbox/MyQueue1"vcID="9123"/></TaskPerformerConfig>I want to dequeue from an enterprise-specific queue
<TaskPerformerConfig><Type>Dequeue</Type><NumberOfThreads>1</NumberOfThreads><TaskPerformerClassName>com.transcendsys.platform.integ.message.DequeueTaskPerformer</TaskPerformerClassName><Queuename="inbox/MyQueue1"vcID="9123"enterpriseName="MyEnt"/></TaskPerformerConfig>I want multiple threads processing all queues, indiscriminately. If new queues are added, it will process from those queues without configuration changes. (To achieve this, we omit QueueName.)
<TaskPerformerConfig><Type>Dequeue</Type><NumberOfThreads>5</NumberOfThreads><TaskPerformerClassName>com.transcendsys.platform.integ.message.DequeueTaskPerformer</TaskPerformerClassName></TaskPerformerConfig>
Furthermore, you can configure specific nodes to only consider certain queues by configuring TaskPerformers only on those nodes.