Spring 集成 Java DSL:在错误通道中数据库记录器不工作
Spring Integration Java DSL: In the error channel database logger is not working
我有我的数据库记录器 myDatabaseLogger
,它在 errorChannel
频道中不执行任何操作。 System.out.println
命令在 errorChannel
频道中工作。
我的数据库记录器 myDatabaseLogger
在其他流中工作。
如何让我的数据库记录器 myDatabaseLogger
在 errorChannel
频道中工作?
这是我的代码:
@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 记录器来查找问题的原因。
我有我的数据库记录器 myDatabaseLogger
,它在 errorChannel
频道中不执行任何操作。 System.out.println
命令在 errorChannel
频道中工作。
我的数据库记录器 myDatabaseLogger
在其他流中工作。
如何让我的数据库记录器 myDatabaseLogger
在 errorChannel
频道中工作?
这是我的代码:
@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 记录器来查找问题的原因。