2011-03-03 12 views
8

मैं अपने प्रोजेक्ट एनोटेशन-आधारित लेनदेन प्रबंधन में उपयोग करता हूं (मैं @ ट्रांसेक्शनल के साथ कुछ विधियों को एनोटेट करता हूं)। मैं विश्व स्तर पर अलगाव स्तर को सेट करना चाहता हूं (इसे प्रत्येक @ ट्रान्सैक्शनल एनोटेशन के लिए तर्क के रूप में नहीं डालना)।सेटिंग अलगाव स्तर

क्या यह संभव है कि एक्सएमएल में कॉन्फ़िगर करें? वर्तमान में मेरे एक्सएमएल कॉन्फ़िगरेशन में

<tx:annotation-driven transaction-manager="txManager"/> 
<bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> 
    <property name="dataSource" ref="dataSource" /> 
</bean> 

क्या किसी भी तरह से अलगाव को टीएक्स में जोड़ना संभव है: एनोटेशन-संचालित?

उत्तर

5

वसंत का लेनदेन प्रबंधन Connection पर लेनदेन अलगाव सेट करता है यदि आप एक गैर-डिफ़ॉल्ट लेनदेन अलगाव कॉन्फ़िगर करते हैं (उदाहरण के लिए @ ट्रांस्सेन्शनल एनोटेशन में इसे निर्दिष्ट करके)। यदि आप कनेक्शन की लेनदेन अलगाव को कॉन्फ़िगर कर सकते हैं, जबकि कोई अन्य तंत्र कनेक्शन के लेनदेन अलगाव को बदलता है, तो आप प्रभाव में वैश्विक रूप से आवेदन द्वारा उपयोग किए गए लेनदेन अलगाव को सेट करते हैं।

<bean 
    id="dataSource" 
    class="org.apache.commons.dbcp.BasicDataSource" 
    destroy-method="close"> 
    <property name="driverClassName" value="${jdbc.driverClassName}"/> 
    <property name="url" value="${jdbc.url}"/> 
    <property name="username" value="${jdbc.username}"/> 
    <property name="password" value="${jdbc.password}"/> 
    <property name="defaultTransactionIsolation"> 
    <util:constant static-field="java.sql.Connection.TRANSACTION_READ_COMMITTED"/> 
    </property> 
</bean> 
:

उदाहरण के लिए, कॉमन्स DBCP BasicDataSource वर्ग पूल से लौटे कनेक्शन के लेन-देन अलगाव सेट करने के लिए defaultTransactionIsolation संपत्ति को परिभाषित करता है

संबंधित मुद्दे