Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

कंटेनर के बाहर jta डेटा स्रोत को परिभाषित करना

हां, आप एटमिकोस या बिट्रोनिक्स जैसे जेटीए अनुपालन लेनदेन प्रबंधक का उपयोग कर सकते हैं। उनकी संबंधित साइटों में दस्तावेज़ हैं कि उन्हें स्प्रिंग के साथ कैसे कॉन्फ़िगर किया जाए। सामान्य तौर पर, आपको नीचे दिए गए चरणों का पालन करना होगा (यदि एटमिकोस का उपयोग कर रहे हैं):

  1. अपने मौजूदा XA डेटा स्रोत को बनाए रखें (rtsDatasource आपके मामले में) या पहले से उपयोग नहीं कर रहे हैं तो एक बनाएं (उदाहरण के लिए, यदि किसी के पास गैर-एक्सए डेटा स्रोत है, तो उस डेटा स्रोत को पहले एक्सए डेटा स्रोत में परिवर्तित किया जाना चाहिए)।
  2. XA डेटा स्रोत को AtomikosDataSourceBean में लपेटें ।
  3. अपना EntityManagerFactory इंगित करें नए AtomikosDataSourceBean . पर उदाहरण।
  4. XA लेनदेन प्रबंधक और XA उपयोगकर्ता लेनदेन की घोषणा करें।
  5. XA लेनदेन प्रबंधक को स्प्रिंग में लपेटें JtaTransactionManager
  6. वसंत का उपयोग करें JtaTransactionManager

H2 डेटाबेस, हाइबरनेट 4, स्प्रिंग 4 और एटमिकोस 4 का उपयोग करते हुए एक संक्षिप्त कॉन्फ़िगरेशन स्निपेट नीचे दिखाया गया है।

<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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORA-00904:आईडी:अमान्य पहचानकर्ता

  2. ORA-00942:तालिका या दृश्य मौजूद नहीं है (जब एक अलग sql काम करता है, लेकिन एक ऑरैकल फ़ंक्शन के अंदर काम नहीं करता है)

  3. Oracle डेटाबेस के साथ .net 4.0 में Entity Framework का उपयोग करें - संभव है?

  4. Oracle SQL में वर्तमान तिथि से 30 वर्ष घटाना

  5. PLS-00302:घटक घोषित किया जाना चाहिए- हल करने में असमर्थ