当前位置: 首页 > 知识库问答 >
问题:

骆驼JPA@消费替代品

袁泰
2023-03-14

我的主要问题是:在JPA实体类内的方法上,除了@Consumed注释之外,还有其他选择吗?

我问这个问题是因为我真的想把我的JPA模型(例如我的所有实体)具体化,以便能够在使用相同数据库的其他项目之间共享。此外,我不想在我的子项目中出现一些骆驼依赖,这意味着要删除@Consumed注释。我基本上有这样一条路线:

from("jpa://[MyClass]?consumeLockEntity=true&consumer.SkipLockedEntity=true&consumer.query=[...]")
    .to("seda:queue.test")

我尝试了不同的解决方案:

  • 在我的camel项目中,使用@Consumed方法扩展子模块camel-free实体类。但是JPA不允许没有鉴别字段的继承

我忘记了其他解决方案吗?(在路由配置中)是否有放置“路由结束方法”的地方?

提前感谢!

共有1个答案

沙星波
2023-03-14

您的第二个解决方案应该可以工作。我认为您的路由最终会死锁,因为您的Bean试图更新您的实体,而您已经在事务中。如果是这种情况,那么在Bean中删除您的更新应该可以工作。

不过你的第一个解决方案还是有价值的。如果有人尝试过,我很想知道它是否有效。

 类似资料:
  • 我在JPA上遇到了以下问题,但这可能更像是一个关于骆驼的概念问题。 我需要一个基于cron的石英消费者。但如果触发了,我想选择JPA组件作为第一步。 但是如果我用“to”调用JPA组件,那么它被用作生产者,而不是消费者。我可以以某种方式使用JPA组件来处理这个问题吗,或者我必须遵循服务激活器(基于bean的)逻辑并将JPA组件留在后面? 提前谢谢你,葛格利

  • 我正在尝试Apache Camel技术,但遇到了麻烦。 我使用Jpa组件的轮询消费者as from(),并将实体上的@consumed注释设置为在流程结束时将其状态更改为“已成功处理”。它很好用。 但如果出现任何错误,我不想在数据库中设置“已成功处理”标志,而是设置“错误发生”之类的标志。 为了解决这个问题,我创建了一个带有处理器的“死信队列”,该处理器试图更改我正在进行的实体的状态,以便稍后保存

  • 我有一个从JMS队列读取项目并将其写入数据库的路径。 我已经阅读了关于ApacheCamelJMS组件的文档,但我没有得到我的问题的确切和明确的答案,即“如果路由中出现异常,JMS消费者是否会重新插入项目或解锁JMS队列中的消息?”。 谢谢 阿里

  • 我对骆驼生产商有很好的了解,但我不能对各种骆驼消费者保持清醒的头脑。特别是事件驱动消费者和轮询消费者,camel如何知道为这些消费者调用回调? 消费者的一般流量是多少?

  • 我在为 端口设置 消费者以捕获消息时遇到问题。我的: 申请开始: 并且<code>514</code>端口已打开但未侦听 我可以在tcpdump中看到,tcpdump-I eth1-nn-A-s 0端口514和udp正确发送和接收消息。 有人能告诉我我做错了什么吗?

  • 我一直在尝试为Spring引导Kafka骆驼Avro消费者寻找示例代码,但没有运气。我在以下URL找到了Spring Camel Kafka消费者和生产者示例: https://thysmichels.com/2015/09/04/apache-camel-kafka-spring-integration/ 我的具体问题是,一旦我的bean从Avro模式创建,并且我有了POJO类,我如何将上面的c