スタンドアロンアプリでCDI + DeltaSpike + Camelを使用しています。ここでスタンドアロンCDI + JTAなしJNDI
は私の現在の設定です:
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");
私は(https://deltaspike.apache.org/documentation/jpa.htmlでDeltaSpike JPAトランザクションを使用しています):
- 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を使用したいと思います。