I have installed Weblogic 12.2.1 and the latest Logstash 7.5.2 version as well as the JMS plugin v3.1.2. I am struggling with the JMS plugin, and I have already set the .conf and .yml, but it doesn't work!
In the destination
field the documentation and the examples suggest no JNDI name, just the queue or topic name!
The input of the jms.conf
:
input {
jms {
pub_sub => false
include_header => false
include_properties => false
include_body => true
use_jms_timestamp => false
yaml_file => "/home/chris/Downloads/logstash-7.5.2/config/jms.yml"
yaml_section => "weblogic"
destination => "DemoQ"
}
}
The jms.yml
:
weblogic:
:jndi_name: jms/DemoCF
:jndi_context:
java.naming.factory.initial: weblogic.jndi.WLInitialContextFactory
java.naming.provider.url: t3://localhost:7001
java.naming.factory.url.pkgs: javax.naming:javax.jms
java.naming.security.principal: weblogic
java.naming.security.credentials: *****!
:require_jars:
- /home/chris/Downloads/wlogic/fmw_12.2.1.0.0_wls_quick_Disk1_1of1/wls12210/wlserver/server/lib/wlthint3client.jar
- /home/chris/Downloads/wlogic/fmw_12.2.1.0.0_wls_quick_Disk1_1of1/wls12210/wlserver/server/lib/wljmsclient.jar
- /home/chris/Downloads/wlogic/fmw_12.2.1.0.0_wls_quick_Disk1_1of1/wls12210/wlserver/server/lib/wlclient.jar
and the ouput of the Logstash:
[2020-01-31T14:50:10,284][WARN ][logstash.inputs.jms ][main] JMS Consumer Died {:exception=>"Java::WeblogicJmsCommon::JMSException", :exception_message=>"[JMSExceptions:045101]The destination name passed to the createTopic or createQueue "DemoQ" is invalid. If the destination name does not contain a "/" character, then it must be the name of a distributed destination that is available in the cluster to which the client is attached. If it does contain a "/" character, then the string before the "/" must be the name of a JMS server or a ".". The string after the "/" is the name of a the desired destination. If the "./" version of the string is used then any destination with the given name on the local WebLogic Server instance
After days I figured this out! In the field of destination use: jmsmodulename!destinationname (from docs of Oracle ) , for a clustered environment!! Neither "/" nor "./"