分散トランザクション

Spring has a infrastructure for transaction control. it not just supports some db vendors, but also supports distributed tranzations by implementing the JTA of j2ee vendor.

using WebLogicJtaTransactionManager, configure it out that working w/ JTA implementation of WebLogic Server.


WebLogicJtaTransactionManager: 担当するタスクをWebLogic ServerのJava Transaction APIに直接委託。
WebLogic Serverno
JTA TransactionManagerIFはJNDIを通じてclientやBeanプロバイダで利用でき、そのやり取りはSpringで管理される。
トランザクションは、クラスタやドメインの内部で動作するものでも、クラスタやドメインにまたがって動作するものでも可能。

WebLogicJtaTransactionManagerは、エンタープライズアプリケーションの分散トランザクションと2フェーズコミットプロトコルを管理できる。
アプリケーションでは、WebLogicJtaTransactionManagerを利用することで、WebLogic管理コンソールを通じてトランザクション監視を活用できる。
WebLogicJtaTransactionManagerは、DBごとのアイソレーションレベルの設定も可能。


<'!-- spring's transaction manager delegates to WebLogic
Server's transaction manager -->
<'bean id="transactionManager" class="org.springframework.transaction.jta.WebLogicJtaTransactionManager">
 <'property name="transactionManagerName"
value="javax.transaction.TransactionManager"/>
<'/bean>

<'!-- base transaction proxy for which medrec spring beans inherit-->
<'bean id="baseTransactionProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
abstract="true">
 <'property name="transactionManager" ref="transactionManager"/>
 <'property name="transactionAttributes">
  <'props>
   <'prop key="activate*">PROPAGATION_REQUIRED<'/prop>
   <'prop key="create*">PROPAGATION_REQUIRED<'/prop>
   <'prop key="compose*">PROPAGATION_REQUIRED<'/prop>
   <'prop key="deny*">PROPAGATION_REQUIRED<'/prop>
   <'prop key="getRecord*">PROPAGATION_REQUIRED,readOnly<'/prop>
   <'prop key="getPatient*">PROPAGATION_REQUIRED,readOnly<'/prop>
   <'prop key="getLog*">PROPAGATION_NOT_SUPPORTED<'/prop>
   <'prop key="process*">PROPAGATION_REQUIRED<'/prop>
   <'prop key="save*">PROPAGATION_REQUIRED<'/prop>
   <'prop key="send*">PROPAGATION_REQUIRED<'/prop>
  <'/props>
 <'/property>
<' /bean>

<'!-- single point of service for all medrec clients -->
<'bean id="medRecClientServiceFacade" parent="baseTransactionProxy">
 <'property name="target">
  <'bean class="com.bea.medrec.service.MedRecClientServiceFacadeImpl">
   <'property name="adminService">
    <'ref bean="adminService"/>
   <'/property>
   <'property name="patientService">
    <'ref bean="patientService"/>
   <'/property>
   <'property name="recordService">
    <'ref bean="recordService"/>
   <'/property>
   <'property name="recordXmlProcessorService">
    <'ref bean="recordXmlProcessorService"/>
   <'/property>
  <'/bean>
 <'/property>
<'/bean>


ref:
SpringとWebLogic Serverの統合, A. Piper, R. Johnson, C. Wall, N. Tran, dev2dev , 9/28/2005
http://www.beasys.co.jp/dev2dev/pub/a/2005/09/spring_integration_weblogic_server.html

ctgr:
spring
2007-06-07 23:43 : __fw__spring : コメント : 0 : トラックバック : 0 :
コメントの投稿
非公開コメント

« next  ホーム  prev »

search

ad



counter


tag cloud

category cloud