mirror of
https://github.com/elastic/logstash.git
synced 2025-04-24 22:57:16 -04:00
Expose DLQ writers to all types of plugins, not just Ruby outputs
Fixes #10749
This commit is contained in:
parent
fe4b6ee308
commit
b4f01e88fc
1 changed files with 9 additions and 10 deletions
|
@ -398,18 +398,17 @@ public final class PluginFactoryExt {
|
||||||
|
|
||||||
public Context toContext(PluginLookup.PluginType pluginType, AbstractNamespacedMetricExt metric) {
|
public Context toContext(PluginLookup.PluginType pluginType, AbstractNamespacedMetricExt metric) {
|
||||||
DeadLetterQueueWriter dlq = NullDeadLetterQueueWriter.getInstance();
|
DeadLetterQueueWriter dlq = NullDeadLetterQueueWriter.getInstance();
|
||||||
if (pluginType == PluginLookup.PluginType.OUTPUT) {
|
if (dlqWriter instanceof AbstractDeadLetterQueueWriterExt.PluginDeadLetterQueueWriterExt) {
|
||||||
if (dlqWriter instanceof AbstractDeadLetterQueueWriterExt.PluginDeadLetterQueueWriterExt) {
|
IRubyObject innerWriter =
|
||||||
IRubyObject innerWriter =
|
((AbstractDeadLetterQueueWriterExt.PluginDeadLetterQueueWriterExt) dlqWriter)
|
||||||
((AbstractDeadLetterQueueWriterExt.PluginDeadLetterQueueWriterExt) dlqWriter)
|
.innerWriter(RubyUtil.RUBY.getCurrentContext());
|
||||||
.innerWriter(RubyUtil.RUBY.getCurrentContext());
|
if (innerWriter != null) {
|
||||||
|
if (org.logstash.common.io.DeadLetterQueueWriter.class.isAssignableFrom(innerWriter.getJavaClass())) {
|
||||||
if (innerWriter != null) {
|
dlq = new DLQWriterAdapter(innerWriter.toJava(org.logstash.common.io.DeadLetterQueueWriter.class));
|
||||||
if (org.logstash.common.io.DeadLetterQueueWriter.class.isAssignableFrom(innerWriter.getJavaClass())) {
|
|
||||||
dlq = new DLQWriterAdapter(innerWriter.toJava(org.logstash.common.io.DeadLetterQueueWriter.class));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
} else if (dlqWriter.getJavaClass().equals(DeadLetterQueueWriter.class)) {
|
||||||
|
dlq = dlqWriter.toJava(DeadLetterQueueWriter.class);
|
||||||
}
|
}
|
||||||
|
|
||||||
return new ContextImpl(dlq, new NamespacedMetricImpl(RubyUtil.RUBY.getCurrentContext(), metric));
|
return new ContextImpl(dlq, new NamespacedMetricImpl(RubyUtil.RUBY.getCurrentContext(), metric));
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue