logstash-plugins / logstash-input-jms

12 stars 27 forks source link

jms_reply_to convert exception #30

Closed dishmaev closed 2 years ago

dishmaev commented 5 years ago

Hello

When i set reply-to property (request-reply scenario from app2 to app1) with mq topic by string type (for example "app2.reply"), exception occurred. Without reply-to value no exception. Tell me how to fix the problem.

Plugin version: v3.0.5 Logstash {"logstash.version"=>"6.6.0"} OS last version CentOS/Debian MQ ActiveMQ Artemis 2.6.4

config: input { jms { id => "app1.request" destination => "logstash.app1.request" broker_url => "tcp://broker:61616" use_jms_timestamp => true username => "logstash" password => "password" factory => "org.apache.activemq.ActiveMQConnectionFactory" require_jars => ["/home/logstash/activemq-all-5.15.8.jar"] } }

log: [2019-02-02T16:10:43,270][ERROR][logstash.inputs.jms ] Failed to create event {:message=>Java::OrgApacheActivemqCommand::ActiveMQBytesMessage: Attributes: {:jms_correlation_id=>nil, :jms_delivery_mode_sym=>:persistent, :jms_destination=>"queue://app1.request", :jms_expiration=>0, :jms_message_id=>"f21c46b3-26eb-11e9-b550-005056b3fef7:0:0:-1", :jms_priority=>4, :jms_redelivered=>false, :jms_reply_to=>#, :jms_timestamp=>1549113036696, :jms_type=>"GateDisable 3"} Properties: {"JMSXUserID"=>"app2", "Gate"=>3, "NATIVE_MESSAGE_ID"=>"ID:AMQP_NO_PREFIX:b35b2b5e-ff28-43f0-9f56-61515187c23f", "Command"=>"GateDisable"}, :exception=>org.logstash.MissingConverterException: Missing Converter handling for full class name=org.apache.activemq.command.ActiveMQQueue, simple name=ActiveMQQueue, :backtrace=>["org.logstash.Valuefier.fallbackConvert(Valuefier.java:97)", "org.logstash.Valuefier.convert(Valuefier.java:75)", "org.logstash.Valuefier.lambda$static$3(Valuefier.java:51)", "org.logstash.Valuefier.convert(Valuefier.java:73)", "org.logstash.ext.JrubyEventExtLibrary$RubyEvent.ruby_set_field(JrubyEventExtLibrary.java:99)", "usr.share.logstash.vendor.bundle.jruby.$2_dot_3_dot_0.gems.logstash_minus_input_minus_jms_minus_3_dot_0_dot_5_minus_java.lib.logstash.inputs.jms.RUBY$block$queue_event$3(/usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/logstash-input-jms-3.0.5-java/lib/logstash/inputs/jms.rb:163)", "org.jruby.runtime.CompiledIRBlockBody.yieldDirect(CompiledIRBlockBody.java:156)", "org.jruby.runtime.BlockBody.yield(BlockBody.java:114)", "org.jruby.runtime.Block.yield(Block.java:165)", "org.jruby.RubyHash$12.visit(RubyHash.java:1362)", "org.jruby.RubyHash$12.visit(RubyHash.java:1359)", "org.jruby.RubyHash.visitLimited(RubyHash.java:662)", "org.jruby.RubyHash.visitAll(RubyHash.java:647)", "org.jruby.RubyHash.iteratorVisitAll(RubyHash.java:1319)", "org.jruby.RubyHash.each_pairCommon(RubyHash.java:1354)", "org.jruby.RubyHash.each(RubyHash.java:1343)", "usr.share.logstash.vendor.bundle.jruby.$2_dot_3_dot_0.gems.logstash_minus_input_minus_jms_minus_3_dot_0_dot_5_minus_java.lib.logstash.inputs.jms.RUBY$method$queue_event$0(/usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/logstash-input-jms-3.0.5-java/lib/logstash/inputs/jms.rb:162)", "usr.share.logstash.vendor.bundle.jruby.$2_dot_3_dot_0.gems.logstash_minus_input_minus_jms_minus_3_dot_0_dot_5_minus_java.lib.logstash.inputs.jms.RUBY$block$run_consumer$2(/usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/logstash-input-jms-3.0.5-java/lib/logstash/inputs/jms.rb:190)", "org.jruby.runtime.CompiledIRBlockBody.callDirect(CompiledIRBlockBody.java:145)", "org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:71)", "org.jruby.runtime.Block.call(Block.java:124)", "org.jruby.RubyProc.call(RubyProc.java:289)", "org.jruby.RubyProc.call19(RubyProc.java:273)", "usr.share.logstash.vendor.bundle.jruby.$2_dot_3_dot_0.gems.jruby_minus_jms_minus_1_dot_3_dot_0_minus_java.lib.jms.message_consumer.RUBY$method$each$0(/usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/jruby-jms-1.3.0-java/lib/jms/message_consumer.rb:70)", "usr.share.logstash.vendor.bundle.jruby.$2_dot_3_dot_0.gems.jruby_minus_jms_minus_1_dot_3_dot_0_minus_java.lib.jms.session.RUBY$method$consume$0(/usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/jruby-jms-1.3.0-java/lib/jms/session.rb:402)", "usr.share.logstash.vendor.bundle.jruby.$2_dot_3_dot_0.gems.logstash_minus_input_minus_jms_minus_3_dot_0_dot_5_minus_java.lib.logstash.inputs.jms.RUBY$block$run_consumer$1(/usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/logstash-input-jms-3.0.5-java/lib/logstash/inputs/jms.rb:189)", "org.jruby.runtime.CompiledIRBlockBody.callDirect(CompiledIRBlockBody.java:145)", "org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:71)", "org.jruby.runtime.Block.call(Block.java:124)", "org.jruby.RubyProc.call(RubyProc.java:289)", "org.jruby.RubyProc.call19(RubyProc.java:273)", "usr.share.logstash.vendor.bundle.jruby.$2_dot_3_dot_0.gems.jruby_minus_jms_minus_1_dot_3_dot_0_minus_java.lib.jms.connection.RUBY$method$session$0(/usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/jruby-jms-1.3.0-java/lib/jms/connection.rb:258)", "usr.share.logstash.vendor.bundle.jruby.$2_dot_3_dot_0.gems.jruby_minus_jms_minus_1_dot_3_dot_0_minus_java.lib.jms.connection.RUBY$block$session$1(/usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/jruby-jms-1.3.0-java/lib/jms/connection.rb:71)", "org.jruby.runtime.CompiledIRBlockBody.callDirect(CompiledIRBlockBody.java:145)", "org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:71)", "org.jruby.runtime.Block.call(Block.java:124)", "org.jruby.RubyProc.call(RubyProc.java:289)", "org.jruby.RubyProc.call19(RubyProc.java:273)", "usr.share.logstash.vendor.bundle.jruby.$2_dot_3_dot_0.gems.jruby_minus_jms_minus_1_dot_3_dot_0_minus_java.lib.jms.connection.RUBY$method$start$0(/usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/jruby-jms-1.3.0-java/lib/jms/connection.rb:53)", "usr.share.logstash.vendor.bundle.jruby.$2_dot_3_dot_0.gems.jruby_minus_jms_minus_1_dot_3_dot_0_minus_java.lib.jms.connection.RUBY$method$session$0(/usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/jruby-jms-1.3.0-java/lib/jms/connection.rb:70)", "usr.share.logstash.vendor.bundle.jruby.$2_dot_3_dot_0.gems.logstash_minus_input_minus_jms_minus_3_dot_0_dot_5_minus_java.lib.logstash.inputs.jms.RUBY$method$run_consumer$0(/usr/share/logstash/vendor/bundle/jruby/2.3.0/gems/logstash-input-jms-3.0.5-java/lib/logstash/inputs/jms.rb:186)", "org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:103)", "org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:163)", "org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:200)", "org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:338)", "org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:163)", "org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:314)", "org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)", "org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:109)", "org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:95)", "org.jruby.ir.targets.InvokeSite.invoke(InvokeSite.java:145)", "usr.share.logstash.logstash_minus_core.lib.logstash.pipeline.RUBY$method$inputworker$0(/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:409)", "usr.share.logstash.logstash_minus_core.lib.logstash.pipeline.RUBY$method$inputworker$0$VARARGS(/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb)", "org.jruby.internal.runtime.methods.CompiledIRMethod.call(CompiledIRMethod.java:77)", "org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:93)", "org.jruby.ir.targets.InvokeSite.invoke(InvokeSite.java:145)", "usr.share.logstash.logstash_minus_core.lib.logstash.pipeline.RUBY$block$start_input$1(/usr/share/logstash/logstash-core/lib/logstash/pipeline.rb:403)", "org.jruby.runtime.CompiledIRBlockBody.callDirect(CompiledIRBlockBody.java:145)", "org.jruby.runtime.IRBlockBody.call(IRBlockBody.java:71)", "org.jruby.runtime.Block.call(Block.java:124)", "org.jruby.RubyProc.call(RubyProc.java:289)", "org.jruby.RubyProc.call(RubyProc.java:246)", "org.jruby.internal.runtime.RubyRunnable.run(RubyRunnable.java:104)", "java.lang.Thread.run(Thread.java:748)"]}

kares commented 2 years ago

expected to be resolved in plugin version 3.2.0 (https://github.com/logstash-plugins/logstash-input-jms/pull/49)