How many JNDI lookups are done for dynamic destinations in BW?

How many JNDI lookups are done for dynamic destinations in BW?

book

Article ID: KB0089394

calendar_today

Updated On:

Products Versions
TIBCO ActiveMatrix BusinessWorks -
Not Applicable -

Description

Resolution:
Description:
===========
BW JMS activity does three JNDI lookups for destinations before it sends a message when the destination is dynamic.

Environment:
===========
BW - All vesrions
Platforms - All platforms

Cause:
=====
When monitoring JNDI lookup it can be seen that if using the JMS Queue/Topic Publisher/Requestor activity in BW and if configured to publish/send messages to EMS for different topics each time, that that particular request is doing the lookup on Connectionfactory instance three times before it does the operation.

Resolution:
===========
This is expected behavior. JNDI server is used for lookup. BW looks up the JNDI server for both connection factories (URL and other parameters associated with the connection) and destinations. For connection factory it connects only once at the startup of the engine or when the connection is interrupted. While reconnecting, the engine still looks up through the JNDI server. For destinations, BW caches the destinations lookup but it does look up if the destination was not cached earlier. If the destinations are dynamic, that is if the destination name is unique for each job, then the destination lookup happens for each job.

The reason for three lookups is because the bwengine does the lookup in three different styles using different prefixes.

When trying to lookup any destination BW will try to lookup by the exact name specified by the user for the first time. If the first lookup succeeds, then the second and third lookup is skipped. If the first lookup fails BW will try to lookup again using the TIBCO style by prepending a " $queues." to the actual name. If the second lookup succeds, BW will skip the third lookup. If the second lookup fails, BW will try to do another lookup in LDAP style by prepending a "cn=" to the actual name.

If all the three lookups fail then BW will create the destination and will cache the destination name. Nno more lookups will be done until the destination name changes.

Issue/Introduction

How many JNDI lookups are done for dynamic destinations in BW?