Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Mendefinisikan sumber data jta di luar wadah

Ya, Anda dapat menggunakan manajer transaksi yang sesuai dengan JTA seperti Atomikos atau Bitronix. Situs mereka masing-masing memiliki dokumentasi tentang cara mengonfigurasinya dengan Spring. Secara umum, Anda harus mengikuti langkah-langkah yang diberikan di bawah ini (jika menggunakan Atomikos):

  1. Pertahankan sumber data XA yang ada (rtsDatasource dalam kasus Anda) atau buat satu jika belum menggunakan (misalnya, jika seseorang memiliki sumber data non-XA, sumber data tersebut harus dikonversi ke sumber data XA terlebih dahulu).
  2. Bungkus sumber data XA dalam AtomikosDataSourceBean .
  3. Arahkan EntityManagerFactory Anda di AtomikosDataSourceBean yang baru contoh.
  4. Deklarasikan manajer transaksi XA dan transaksi pengguna XA.
  5. Bungkus manajer transaksi XA dalam JtaTransactionManager Musim Semi .
  6. Gunakan JtaTransactionManager Musim Semi .

Cuplikan konfigurasi singkat menggunakan database H2, Hibernate 4, Spring 4 dan Atomikos 4 ditampilkan di bawah.

<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"/>

Untuk detailnya, Anda dapat melihat aplikasi ini .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Contoh Tabel Eksternal Oracle

  2. Kondisi (seperti suka) pada bidang biner (gumpalan) di oracle

  3. Dapatkan kueri dari file di SPRING BOOT menggunakan @Query

  4. Cara MENAMBAHKAN NAMA CONSTRAINT ke CONSTRAINT yang sudah ADA

  5. Apa yang menyebabkan perbedaan antara waktu CPU dan waktu yang telah berlalu dalam file tkprof Oracle?