我发现Spring Integration Java DSL中仍然没有JPA高级支持 Example Spring integration DSL for JPA Inbound Channel adapter
但是如何在低级别配置JPA出站通道适配器?
E.g。在XML中创建这样的Java DSL配置
<int-jpa:outbound-channel-adapter id="moduleMessagePersister" channel="inputPersisterChannel" persist-mode="MERGE" entity-manager-factory="entityManagerFactory">
<int-jpa:transactional transaction-manager="transactionManager"/>
</int-jpa:outbound-channel-adapter>
答案 0 :(得分:3)
我记得承诺的贡献: - )。
重新。 <int-jpa:outbound-channel-adapter>
:
任何此类XML组件都是特定MessageHandler
的消费者端点。
查看Core项目中的最新更改,以帮助用户确定Java和Java的用途。注释配置。因此对于Java DSL:https://jira.spring.io/browse/INT-3964
因此,对于这个特殊元素,我们有:
<xsd:documentation>
Configures a Consumer Endpoint for the
'org.springframework.integration.jpa.outbound.JpaOutboundGatewayFactoryBean' (one-way)
updating a database using the Java Persistence API (JPA).
</xsd:documentation>
因此我们必须配置像
这样的东西@Bean
public FactoryBean<MessageHandler> jpaMessageHandler() {
JpaOutboundGatewayFactoryBean factoryBean = new JpaOutboundGatewayFactoryBean();
...
factoryBean.setProducesReply(false);
return factoryBean;
}
从DSL中使用它:
@Bean
public IntegrationFlow jpaFlow(MessageHandler jpaMessageHandler) {
...
.handle(jpaMessageHandler)
.get();
}
让我知道应该记录什么!
是的:我们肯定应该在下一个1.2 Java DSL版本中使用JPA适配器......