【发布时间】:2016-10-27 12:11:59
【问题描述】:
我在独立应用程序中使用 CDI + DeltaSpike + Camel。
这是我目前的设置:
persistence.xml
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
version="2.0">
<persistence-unit name="primary" transaction-type="RESOURCE_LOCAL">
<shared-cache-mode>DISABLE_SELECTIVE</shared-cache-mode>
</persistence-unit>
EntityManagerFactoryProducer 上的自定义属性:
properties.put("hibernate.connection.provider_class", "org.example.HikariConnectionProvider");
我将 DeltaSpike JPA 事务与 (https://deltaspike.apache.org/documentation/jpa.html) 一起使用:
- org.apache.deltaspike.jpa.api.transaction.TransactionScoped;
- org.apache.deltaspike.jpa.api.transaction.Transactional;
我想使用 Infinispan 来同步我的应用缓存。 根据 Infinispan 文档:
“强烈建议Hibernate配置JTA事务”
如何使用 JTA 事务? 我试图将“RESOURCE_LOCAL”更改为“JTA”,但我不明白我应该配置什么:
- hibernate.transaction.factory_class
- hibernate.transaction.jta.platform
我没有使用 JNDI,而且我不在应用服务器中。
另外,我想使用 @javax.transaction.Transactional 而不是 DeltaSpike。
【问题讨论】:
标签: java hibernate jpa transactions cdi