2016-10-27 6 views
1

スタンドアロンアプリで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を使用したいと思います。

答えて

-1

基本的に、Java EEコンテナを使用せずにほとんどのJava EE機能を使用する方法を尋ねています。

もちろん、AtomikosのようなJTAの実装では、「スタンドアロン」アプリケーションに組み込むことができます。

一方、本格的なJava EE環境から始めて、必要のないものは無視または除外する方がはるかに簡単です。

最近のアプリケーションサーバーは軽量で、自己完結型の実行可能ファイルが必要な場合は、WildFly SwarmやPayara Microをご覧ください。

関連する問題