mirror of
https://github.com/elastic/logstash.git
synced 2025-04-24 14:47:19 -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) {
|
||||
DeadLetterQueueWriter dlq = NullDeadLetterQueueWriter.getInstance();
|
||||
if (pluginType == PluginLookup.PluginType.OUTPUT) {
|
||||
if (dlqWriter instanceof AbstractDeadLetterQueueWriterExt.PluginDeadLetterQueueWriterExt) {
|
||||
IRubyObject innerWriter =
|
||||
((AbstractDeadLetterQueueWriterExt.PluginDeadLetterQueueWriterExt) dlqWriter)
|
||||
.innerWriter(RubyUtil.RUBY.getCurrentContext());
|
||||
|
||||
if (innerWriter != null) {
|
||||
if (org.logstash.common.io.DeadLetterQueueWriter.class.isAssignableFrom(innerWriter.getJavaClass())) {
|
||||
dlq = new DLQWriterAdapter(innerWriter.toJava(org.logstash.common.io.DeadLetterQueueWriter.class));
|
||||
}
|
||||
if (dlqWriter instanceof AbstractDeadLetterQueueWriterExt.PluginDeadLetterQueueWriterExt) {
|
||||
IRubyObject innerWriter =
|
||||
((AbstractDeadLetterQueueWriterExt.PluginDeadLetterQueueWriterExt) dlqWriter)
|
||||
.innerWriter(RubyUtil.RUBY.getCurrentContext());
|
||||
if (innerWriter != null) {
|
||||
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));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue