首页 > 解决方案 > Talend ESB:如何仅在数据库端点运行时使用来自队列的消息?

问题描述

您能帮我解决以下情况吗?

Q1。我正在使用来自 ActiveMQ 的消息并将使用的消息插入到数据库表中。出于某种原因,如果数据库已关闭,我将丢失消息。如何在不丢失消息的情况下阻止消息?

Q2。仅当目标数据库启动并运行时,我才必须使用队列中的消息。

我创建了一个 Java Bean 代码来检查数据库是否已启动并正在运行。但我被困住了,无法做到这一点。任何帮助将不胜感激,请。

仅当数据库启动并运行时才使用队列中的消息。在此处输入图像描述

标签: activemqtalendesb

解决方案


Q1:您可以尝试使用 cErrorHandler 组件:它将允许您捕获流上发生的错误,将它们重定向到另一个路由(使用 direct:myRoute 作为 deadLetter,然后您必须配置以 cDirect 开头的路由命名myRoute。例如,您可以将消息重定向到文件夹或另一个 activeMQ 队列)。

Q2 : 我不知道你如何使用这个 java bean,如果你把它放在 cJMS 之前,Talend 会将 cJMS 视为生产者组件,而不是消费者。


推荐阅读