독립 실행 형 응용 프로그램에서 CDI + DeltaSpike + Camel을 사용하고 있습니다.StandAlone JNDI가없는 CDI + JTA
의 persistence.xml EntityManagerFactoryProducer에
<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>
사용자 지정 속성 :
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를 사용하지 않고 응용 프로그램 서버에 없습니다.
또한 DeltaSpike 대신 @ javax.transaction.Transactional을 사용하고 싶습니다.