All Apps and Add-ons

Role of queue prefix in configuring jms queues

ManishaAgrawal
Explorer

I have a clustered IBM MQ, where both Queue Managers have different jndi provider , but same queue names. Data from both the Queue Managers should have the same sourcetype, should go to same set of indexes and use same transforms.

Since both QMs have same topic names but different jndi, how should I configure inputs.conf ? is there any role of queue prefix in creating different stanzas ?Saying that, if two stanzas in inputs.conf are entirely same except for the queue prefix and jndi provider, will they be processed differently and will data land into indexes from both sources ?

Thanks!
Manisha

0 Karma
1 Solution

Damien_Dallimor
Ultra Champion

Since both QMs have same topic names .... This is the purpose of the prefix value. It is simply used so that when you have destination names (topic / queue ) that are the same , that you will not have naming clashes in inputs.conf (the queue/topic name is used to form the inputs.conf stanza name).

Further more , for better reuse of propertys common to all you stanzas that you want to inherit , then use a parent JMS stanza to inherit from.

Purely an example (using ActiveMQ) , but you should get the point.

[jms]
sourcetype = foo
index = goo
jndi_initialcontext_factory = org.apache.activemq.jndi.ActiveMQInitialContextFactory

[jms://topic/prefix1:sometopic]
jms_connection_factory_name = ConnectionFactory1 
jndi_provider_url = tcp://somehost:61616

[jms://topic/prefix2:sometopic]
jms_connection_factory_name = ConnectionFactory2
jndi_provider_url = tcp://anotherhost:61616

View solution in original post

0 Karma

Damien_Dallimor
Ultra Champion

Since both QMs have same topic names .... This is the purpose of the prefix value. It is simply used so that when you have destination names (topic / queue ) that are the same , that you will not have naming clashes in inputs.conf (the queue/topic name is used to form the inputs.conf stanza name).

Further more , for better reuse of propertys common to all you stanzas that you want to inherit , then use a parent JMS stanza to inherit from.

Purely an example (using ActiveMQ) , but you should get the point.

[jms]
sourcetype = foo
index = goo
jndi_initialcontext_factory = org.apache.activemq.jndi.ActiveMQInitialContextFactory

[jms://topic/prefix1:sometopic]
jms_connection_factory_name = ConnectionFactory1 
jndi_provider_url = tcp://somehost:61616

[jms://topic/prefix2:sometopic]
jms_connection_factory_name = ConnectionFactory2
jndi_provider_url = tcp://anotherhost:61616
0 Karma

ManishaAgrawal
Explorer

Thanks Damien.

0 Karma
Get Updates on the Splunk Community!

Stay Connected: Your Guide to May Tech Talks, Office Hours, and Webinars!

Take a look below to explore our upcoming Community Office Hours, Tech Talks, and Webinars this month. This ...

They're back! Join the SplunkTrust and MVP at .conf24

With our highly anticipated annual conference, .conf, comes the fez-wearers you can trust! The SplunkTrust, as ...

Enterprise Security Content Update (ESCU) | New Releases

Last month, the Splunk Threat Research Team had two releases of new security content via the Enterprise ...