Hello,
I have a JMS plugin configuration with purpose of connecting to IBM MQ. After starting the pipeline I get:
>
> [WARN ] 2023-05-31 10:38:14.348 [[main]<jms] jms - JMS Consumer Died {:exception=>"NameError",
> :exception_message=>"missing class name (`com.ibm.mq.jms.MQQueueConnectionFactory')",
> :backtrace=>["org/jruby/javasupport/JavaPackage.java:252:in `method_missing'",
> "(eval):1:in `initialize'", "org/jruby/RubyKernel.java:1048:in `eval'",
> "/u01/logstash/vendor/bundle/jruby/2.5.0/gems/jruby-jms-1.3.0-java/lib/jms/connection.rb:167:in `initialize'",
> "/u01/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-input-jms-3.1.2-java/lib/logstash/inputs/jms.rb:225:in `run'",
> "/u01/logstash/logstash-core/lib/logstash/java_pipeline.rb:409:in `inputworker'",
> "/u01/logstash/logstash-core/lib/logstash/java_pipeline.rb:400:in `block in start_input'"]}
In the config I have included a reference to the correct jar's (I believe):
input {
jms {
...
factory => 'com.ibm.mq.jms.MQQueueConnectionFactory'
pub_sub => false
...
require_jars => ['/u01/logstash/logstash-core/lib/jars/javax.jms.jar',
'/u01/logstash/logstash-core/lib/jars/java-json.jar',
'/u01/logstash/logstash-core/lib/jars/com.ibm.mqjms.jar',
'/u01/logstash/logstash-core/lib/jars/com.ibm.mq.allclient-9.3.2.0.jar'
]
...
}
In short: the missing class name IS present in the com.ibm.mq.allclient-9.3.2.0.jar but logstash complains about it missing. If I remove that jar, I get "class def not found" but if I have the jar added I get the above error.
What do I overlook?