我试图让JpaMessageIdRepository在我的Sping Boot 2.3项目中工作,但是毫无进展。
jpaMessageIdRepository(String persistenceUnit, String processorName)
jpaMessageIdRepository(EntityManagerFactory entityManagerFactory, String processorName)
我应该使用哪一个?以及如何从我的类中获得entityManagerFactory?似乎在任何地方都找不到一个工作示例:(
这是从我的 Camel 路线不工作:
.idempotentConsumer(
header("CamelFileName"),
jpaMessageIdRepository("what", "FileRepo")
)
.log("${header.CamelFileName}")
2条答案
按热度按时间rsl1atfo1#
我已经用spring-boot 2.5.4,camel 3.13.0和hib5.4.32.Final成功地运行了它。我不确定这是最好的方法,但是关于这个主题的文档非常少。
www.example.com上没有关于创建sql表的内容https://camel.apache.org/components/3.13.x/jpa-component.html#_spring_boot_auto_configuration但在https://camel.apache.org/components/3.13.x/sql-component.html上找到了一些有用的信息
Maven依赖项
正在创建sql表和序列
要包含实体
org.apache.camel.processor.idempotent.jpa.MessageProcessed
的Jpa实体配置(Spring Bean)正在创建JpaMessageIdRepository。应更改处理器名称。EntityManagerFactory从Spring上下文自动连接。
覆盖ID生成策略(仅当您使用名称为hib_sequence以外的序列并且不想创建hib_sequence时)。在META-INF下创建orm.xml
rggaifut2#
您可以注入实体管理器工厂
而使用它: