Consumer is created with "NONE" selector as soon as BW engine starts.

Consumer is created with "NONE" selector as soon as BW engine starts.

book

Article ID: KB0088651

calendar_today

Updated On:

Products Versions
TIBCO ActiveMatrix BusinessWorks -
Not Applicable -

Description

Resolution:
Description:
==========
When a "Get JMS Queue Message" activity configured with a static queue name, you will see a consumer with "NONE" selector as soon as the BW started.

Environment:
===========

BW - 5.11
Platforms: All

Symptom:
========
If a dynamic selector is used with a static queue, two consumers will be created, one with "none" selector and another with the specified selector.

Cause:
======
When a static queue name is configured in the "Get JMS Queue Message" activity, BW creates the session/consumer at startup and it reuses this consumer for performance reasons. However, the actual receive() is called only when the activity gets executed. From startup until the JMS activity gets executed, the consumer stays in in-active mode and as soon as the JMS activity gets executed, receive() is called and the consumer switches to active mode.

However, when you use a dynamic destination with the "Get JMS Queue Message" activity, the consumer is created only after the activity gets executed. No consumer is created during engine startup.

If a queue name has been specified both in the "Configuration" tab as well as in the "input" tab, a non-active consumer is created on the queue specified in the "Configuration" tab during BW engine start up and an active consumer is created on the queue specified in the "Input" tab as soon as the JMS activity gets executed.

If a dynamic selector is used with a dynamic queue in the "Get JMS Queue Message" activity, only one consumer is created with the specified selector when the activity gets executed and goes to the activated state immediately. No consumers are created during engine startup.

If a valid static selector is used with a static destination, the consumer will be created during startupp with the selector but will be activated only after the JMS activity gets executed.

If a valid dynamic selector is used with a static destination in the "Get JMS Queue Message" activity, one inactive consumer with selector "none" will be created on the static destination during startup (as the value of the selector is not known at this point of time) and another consumer with the supplied dynamic selector (specified in the input tab) will be created on the static destination when the activity gets executed and will be immediately activated. After a message satisfying the selector criteria is received by the second consumer, the second consumer will be immediately destroyed,but the first consumer will continue to be present until the connection is closed.

Issue/Introduction

Consumer is created with "NONE" selector as soon as BW engine starts.