JMS Input Plugin for Logstash - Tibco JMS Provider

I was reading through JMS as input plugin for Logstash.

Post reading the documentation i was trying to setup a Logstash EMS listener for Tibco JMS provider with JNDI configuration.

Although the official elastic-matrix mentions the support of JMS input plugin is only supported for Active MQ, Active MQ Artemis and Solace -> https://www.elastic.co/support/matrix#matrix_logstash_plugins

But digging up more into this i also found a query-solution for the same -> https://github.com/logstash-plugins/logstash-input-jms/issues/11

The configuration mentioned in the above github issue link states that the jndi_name => ConnectionFactory

While doing the same for my setup it was unable to lookup the destination.
I figured that the Instance of Tibco JMS is setup such that each connection to the Topic/Queue requires a registered ClientId which in turns takes the place of jndi_name and this successfully looks up the Subcriber and connects to the broker using the Subscriber password.

Nw the problem that i face is its unable to lookup the destination Topic/Queue.

JMS internally tries to create the Topic/Queue when it cannot locate it and hence throws an error ->

exception _message => “Method createTopic() not supported for dynamic topic creation — this has to be done with JNDI lookup()”

Unable to find out the exact issue here. (would be great to know if Tibco is actually supported)

For reference, My JMS config

input {
    jms {
        include_header => true
        include_properties => true
        include_body => true
        use_jms_timestamp => true
        destination => “CM.GLBL.EVENT.T”   (The name of my topic)
        pub_sub => true
        yaml_file => “D:/logstash/config/jndiems.yml”
        yaml_section => “ems”
    }
}

output {
    stdout { codec => json }
}

// My jndiems.yml file

ems:
  :username: “subscriber_username”
  :password: “subscriber_password”
  :jndi_name: “CM.GLBL::EVENT.Subscriber.ID1”   (client id for the connection to the Topic/Queue)
  :jndi_context:
     java.naming.factory.initial: javax.naming.api.InitialContextFactory
     java.naming.provider.url: “ldap://global.name.com/dc=global,dc=name,dc=com”
     java.naming.security.principal: “CN=adminjms,OU=Users,OU=Global,DC=global,DC=name,DC=com”
     java.naming.security.credentials: “jms@dmin”

  :require_jars:
     - “D:/logstash/config/lib/tibjms-4.4.1.jar”
     - “D:/logstash/config/lib/jms-1.1.jar”
     - “D:/logstash/config/lib/commons-lang-2.6.jar”

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.