2011-02-10 14 views
6

मैं एक्टिटी या जेबीपीएम -5 के साथ कस्टम बीपीएम कार्यान्वयन को एक ऐसे उत्पाद में बदलना चाहता हूं जो लगातार परत कार्यान्वयन के लिए स्प्रिंग के साथ हाइबरनेट (नो जेपीए) का उपयोग करता है। दुर्भाग्यवश, एक्टिविटी और जेबीपीएम 5 दोनों को जेपीए (उनके दस्तावेज के अनुसार) की आवश्यकता है और उत्पाद में जेपीए में सभी मौजूदा हाइबरनेट कार्यान्वयन को माइग्रेट करना संभव नहीं है।क्या एचपीएम फाइल जेपीए प्रदाता के रूप में हैबर्नेट के साथ जेपीए प्रदाता के रूप में उपयोग की जा सकती है?

  1. वहाँ एक है (यानी फ़ाइलें .hbm बनाए रखने) जेपीए को हाइबरनेट कार्यान्वयन पलायन के बिना स्प्रिंग 3 के साथ जेपीए 2.0 कॉन्फ़िगर करने के लिए जिस तरह से (जेपीए प्रदाता हाइबरनेट है) है?

नोट: मुझे पता है कि एप्लिकेशन जेपीए के साथ अनुपालन नहीं करेगा और एक अन्य जेपीए प्रदाता का उपयोग नहीं किया जा सकता है।

  1. यदि कोई तरीका है, मान लें कि वसंत जेटीए लेनदेन प्रबंधक उचित सेटिंग्स के साथ कॉन्फ़िगर किया गया है। आवेदन तर्क और बीपीएम वर्कफ़्लो तर्क एक वसंत लेनदेन में निष्पादित किया जा सकता है?
+0

विफल रहता है यह ठीक आपके प्रश्न का उत्तर नहीं है, लेकिन मैं हाल ही में एक ऐसी ही स्थिति थी, और HibernateTools का उपयोग कर जेपीए एनोटेट सेम करने के लिए मेरे * .hbm.xml फ़ाइलों को कनवर्ट करने समाप्त हो गया। यह काफी दर्द रहित था और अब आप जो कर रहे हैं उसके माध्यम से जाने का प्रयास बचाया। क्या यह आपके लिए एक विकल्प है? – Fil

+0

धन्यवाद @ फिलिप ज़लवेस्की। उत्पाद इसके आकार के मामले में बड़ा है। केवल कारण, मैं जेपीए में बदलना चाहता हूं, उसी लेनदेन में बीपीएम और आवेदन चलाने के लिए। मुझे नहीं लगता, माइग्रेशन सही विकल्प है। – Sujee

+0

संभव होने लगता है: http://bill.burkecentral.com/2007/07/06/co-existence-with-hibernate-jpa-and-ejb3/ http://docs.jboss.org/hibernate/entitymanager/ 3.6/संदर्भ/एन/एचटीएमएल/config.html –

उत्तर

1

लेनदेन के संबंध में Activiti Spring Transaction डॉक्स देखें। यदि आप जेपीए का उपयोग करने के लिए अपने आवेदन को बंद नहीं कर सकते हैं, तो दूसरा विकल्प आपके हाइबरनेट डोमेन पर एक मुखौटा परत करना है। एक्टिविटी आपको वसंत प्रबंधित बीन्स पर विधियों का आह्वान करने की अनुमति देती है, ताकि आप एक मुखौटा बना सकें या मौजूदा सेवा परत का उपयोग कर सकें। स्प्रिंग एकीकरण कैसे काम करता है यह देखने के लिए गतिविधि के साथ शिप करने वाले नमूना अनुप्रयोगों पर एक नज़र डालें।

0

जेबीपीएम डब्ल्यू/जेपीए वसंत का उपयोग कर पुराने गैर-जेपीए अनुप्रयोगों के साथ एकीकृत किया जा सकता है। जेबीपीएम के साथ बातचीत जेपीए का उपयोग करती है, लेकिन आपका एप्लीकेशन हाइबरनेट का उपयोग करेगा। एकमात्र कमी यह है कि आपको 2 अलग-अलग लेन-देन से निपटना होगा, लेकिन किसी भी समस्या को ज्यादातर कम किया जा सकता है।

enter image description here

  1. अपने हाइबरनेट लेनदेन पहले शुरू करें और किसी भी व्यापार तर्क प्रदर्शन आप

  2. चाहते JBPM API को कॉल एक प्रक्रिया शुरू, या एक घटना भेजने के लिए, आदि के द्वारा अपने JBPM लेन-देन शुरू

  3. कोई भी वर्कइटम हैंडलर कार्यान्वयन सत्र फैक्टरी एपीआई

  4. का उपयोग कर बाहरी लेनदेन में शामिल होने की आवश्यकता है
  5. हाइबरनेट फ्लश() आदेश सबसे अधिक व्यापार कोड द्वारा उत्पन्न अपवाद को गति प्रदान करने के लिए प्रत्येक WorkItemHandler निष्पादन के अंत में कॉल किया जाना चाहिए

  6. WorkItemHandler व्यापार कोड द्वारा उत्पन्न किसी भी अपवाद को पकड़ने और यह इतना है कि rethrow चाहिए JBPM लेन-देन भी

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