sql >> データベース >  >> RDS >> Oracle

コンテナの外部でjtaデータソースを定義する

    はい、AtomikosやBitronixなどのJTA準拠のトランザクションマネージャーを使用できます。それぞれのサイトには、Springでそれらを構成する方法に関するドキュメントがあります。一般に、以下の手順に従う必要があります(Atomikosを使用している場合):

    1. 既存のXAデータソースを保持します(rtsDatasource あなたの場合)またはまだ使用していない場合は作成します(たとえば、誰かが非XAデータソースを持っている場合、そのデータソースを最初にXAデータソースに変換する必要があります)。
    2. XAデータソースをAtomikosDataSourceBeanでラップします 。
    3. EntityManagerFactoryを指定します 新しいAtomikosDataSourceBeanで インスタンス。
    4. XAトランザクションマネージャーとXAユーザートランザクションを宣言します。
    5. XAトランザクションマネージャーをSpringのJtaTransactionManagerでラップします 。
    6. Spring JtaTransactionManagerを使用する 。

    H2データベース、Hibernate 4、Spring 4、およびAtomikos4を使用した短い構成スニペットを以下に示します。

    <bean class="org.h2.jdbcx.JdbcDataSource" id="originalDataStore" lazy-init="true">...</bean>
    
    <bean class="com.atomikos.jdbc.AtomikosDataSourceBean" id="dataSource" init-method="init" destroy-method="close">
      <property name="uniqueResourceName" value="xaDS"/>
      <property name="xaDataSource" ref="originalDataStore"/>
      <property name="poolSize" value="3"/>
    </bean>
    
    <bean class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" id="entityManagerFactory">
      <property name="dataSource" ref="dataSource"/>
      <property name="jpaProperties">
        <props>
          <prop key="hibernate.transaction.jta.platform">com.atomikos.icatch.jta.hibernate4.AtomikosPlatform</prop>
           ...
        </props>
      </property>
    </bean>
    
    <bean class="org.springframework.transaction.jta.JtaTransactionManager" id="transactionManager">
      <property name="transactionManager">
        <bean class="com.atomikos.icatch.jta.UserTransactionManager" init-method="init" destroy-method="close">
          <property name="forceShutdown" value="false"/>
        </bean>
      </property>
      <property name="userTransaction">
        <bean class="com.atomikos.icatch.jta.J2eeUserTransaction">
          <property name="transactionTimeout" value="300"/>
        </bean>
      </property>
      <property name="allowCustomIsolationLevels" value="true"/>
    </bean>
    
    <transaction:annotation-driven transaction-manager="transactionManager"/>
    

    詳細については、このアプリ をご覧ください。 。




    1. MySQLが科学的記数法で一部の浮動小数点数を返しているのに、他の浮動小数点数は返さないのはなぜですか?

    2. phpxamppでアクセス拒否エラー

    3. MySQLVarChar255以降

    4. MySQLでpandasメソッドto_sqlを使用する場合の別のUnicodeEncodeError