Spring 集成 Java DSL:在错误通道中数据库记录器不工作

Spring Integration Java DSL: In the error channel database logger is not working

我有我的数据库记录器 myDatabaseLogger,它在 errorChannel 频道中不执行任何操作。 System.out.println 命令在 errorChannel 频道中工作。

我的数据库记录器 myDatabaseLogger 在其他流中工作。

如何让我的数据库记录器 myDatabaseLoggererrorChannel 频道中工作?

这是我的代码:

    @Autowired
@Qualifier("errorChannel")
private PublishSubscribeChannel errorChannel;

@Bean
public IntegrationFlow errorHandlingFlow() {
    return IntegrationFlows
            .from(errorChannel)
            .handle(myDatabaseLogger, "log")
            .handle(message -> System.out
                    .println("The error happened:" + ((MessagingException) message.getPayload()).getMessage()))
            .get();
}

编辑:

抱歉耽误了,刚放假。

myDatabaseLogger class 很简单 Java class 它使用扩展 org.springframework.data.repository.CrudRepository 的存储库写入数据库。在方法 errorHandlingFlow 中没有任何行写入数据库。

稍后我将使用 DEBUG 日志记录并尝试对此进行更多调查。

可以在此处使用 DEBUG 记录器来查找问题的原因。