java - Camel Jpa绕过@consumed

标签 java jpa apache-camel

我正在尝试 Apache Camel 技术,但遇到了麻烦。

我使用 Jpa 组件的轮询使用者作为 from() 并在我的实体上设置 @consumed 注释,以在流程结束时将其状态更改为“已成功处理”。效果很好。

但如果出现任何错误,我不想在数据库中设置“已成功处理”标志,而是设置“发生错误”之类的标志。

为了解决这个问题,我创建了一个带有处理器的“死信队列”,它尝试更改我正在进行的实体的状态,以便稍后保存在数据库中。但该过程始终标记为已完成,因此始终会调用 @Consumed 方法。

所以我的问题是:如果出现错误,如何跳过 @Consumed 方法?是否需要设置特定的交换状态?

最佳答案

@Consumed 方法可以将 Exchange 作为参数,您可以在其中检查交换是否失败,并获取导致的异常或其他内容。无论如何,如果成功与否,它应该有状态,然后您可以相应地更改实体。

关于java - Camel Jpa绕过@consumed,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35412059/

相关文章:

java - 带有提示和默认值的 Edittext 可能吗?

java - 使用 JPAMetaModelEntityProcessor 的优势?

java - SessionFactory.getCurrentSession() 与 EntityManager.createEntityManager()

java - Camel ActiveMq 蓝图

activemq - 如何使用池正确配置 ActiveMQ?

java - 我们如何在同一个 Spring 应用程序中同时添加 JWT 和基本身份验证?

java - 多线程不比单线程快(简单循环测试)

java - 是否有用于数据完整性验证的标准 DSL?

java - JPA 似乎有效但没有返回结果

java - Apache Camel SFTP 配置与 Spring XML