में लेनदेन का उपयोग करते समय एक पोस्ट प्रतिबद्ध बनाना, कुछ कारणों से मैंने मैन्युअल रूप से लेनदेन प्रतिबद्धता का संचालन किया है और स्प्रिंग प्लेटफार्म ट्रान्सएक्शन मैनेजर का उपयोग करके वापस रोल किया है, मुझे जो करना है वह एक हुक सेट अप करना है ताकि लेनदेन के बाद एक पोस्ट प्रतिबद्ध कार्रवाई हो प्रतिबद्ध।वसंत
को देख कर:
void commit(TransactionStatus status) throws TransactionException;
मैं नहीं कर सकते देखने के मैं कैसे निर्धारित कर सकते हैं एक सौदे यह assumming इसलिए यदि कोई expception फेंक दिया जाता है की तुलना में सफल अन्य था।
और मैं एओपी का उपयोग एक विकल्प के रूप में कर सकता था, लेकिन प्रोग्रामिंग के बारे में क्या करना है, शायद कॉलबैक विधि का उपयोग कर?
ठीक है यह बहुत अच्छा लगता है ... तो अगर यह एकल धागे से बंधे हैं, और कॉल रिकर्सिव है ...एक सिंगल थ्रेड शुरू होता है एक लेनदेन एक सिंक्रनाइज़ेशन (1 - प्रतिबद्धता के बाद) पंजीकृत करता है और उसके बाद उस लेनदेन में शामिल होने वाली दूसरी विधि को सिंक्रनाइज़ेशन (2 - प्रतिबद्धता) पंजीकृत करता है .... जब यह काम करता है .. मुझे लगता है कि सिंक्रनाइज़र के बाद केवल एक ही लगता है उन्हें निकाल दिया जाएगा ... उन्हें एक सेट में संग्रहीत किया जा रहा है? .. शायद गलत है मुझे परीक्षण करना होगा ... – user1555190
'लेनदेन सिंक्रनाइज़ेशन 'ऑब्जेक्ट्स थ्रेड द्वारा एक सूची के रूप में रखा जाता है, सूची जिसे आप' लेनदेन सिंक्रनाइज़ेशन प्रबंधक 'के साथ पुनर्प्राप्त कर सकते हैं। getSynchronizations() ' – Grooveek
मेरा मानना है कि इसे एक सेट के रूप में रखा गया है, और उसके बाद एक सूची के रूप में लौटाया गया है ... सेट <लेनदेन सिंक्रनाइज़ेशन> synchs .............. नया ArrayList (synchs) लौटाएं ..... मैं सिर्फ दो सोचने के बाद सोच रहा हूं ... –
user1555190