ईमानदारी से, आप यहाँ @Zon मामले पर बहुत गहराई से गए हैं। मुझे नहीं पता कि मैं आपकी पर्याप्त मदद कर सकता हूं या नहीं, लेकिन मैं इस पर ध्यान दिए बिना कोशिश करूंगा।
चीजों को अभी काम करने के लिए शोध बिंदु 1 स्पष्ट रूप से सबसे व्यावहारिक समाधान है। यदि आप String
. की "अक्षमता" को नोटिस करने जा रहे हैं UUID
. की तुलना में ऐसा कुछ है जिसके बारे में मुझे मुश्किल से दबाया जाएगा। तो अगर यह एक पूर्ण नहीं है, तो जांच आगे बढ़नी चाहिए। अन्यथा, यह निश्चित रूप से काम पूरा करता है।
जब शोध बिंदु 2 और 3 की बात आती है, तो मेरा मानना है कि आप पोस्टग्रेएसक्यूएल के लिए बोली जाने वाली बोली के साथ एक समस्या का सामना कर रहे हैं, हालांकि मैं यहां 100% निश्चित नहीं हूं। विशेष रूप से PostgreSQL कुछ "भयानक" प्रकारों की ब्रांडिंग करता है, लेकिन ये हमेशा सभी परिदृश्यों में स्वचालित रूप से काम नहीं करते हैं। मैं PostgreSQL को BYTEA
का उपयोग करने के लिए मजबूर करने पर अपना "अनुमान" यहां आधारित कर रहा हूं OID
. के बजाय यदि आप पोस्टग्रेज को डाउन करना चाहते हैं TOAST
क्षमता। यह विशेष रूप से आसान हो जाता है यदि आप अपने ईवेंट स्टोर के लिए पोस्टग्रेज़ का उपयोग करना चुनते हैं और वास्तव में ईवेंट की सामग्री को देखने में सक्षम होना चाहते हैं। उदाहरण के लिए यह ब्लॉग पोस्ट निर्दिष्ट करता है कि इससे कैसे निपटें। इससे भी महत्वपूर्ण बात, यह ब्लॉग
पोस्ट दिखाता है कि आप उदाहरण के लिए इस्तेमाल की जा रही बोली को कैसे समायोजित कर सकते हैं। हो सकता है कि यह समाधान 2 और 3 में आपकी सेवा कर सके?
इस मामले में विकल्प 4 सबसे तार्किक समाधान होना चाहिए। लेकिन मुझे आपकी प्रतिक्रिया से पता चलता है कि आप इस समय काम नहीं कर पाए। स्प्रिंग के साथ एक्सॉन को मिलाते समय, SpringAxonAutoConfigurer
(जिससे आप registerAggregateBeanDefinitions
का जिक्र कर रहे हैं विधि से मेरा मानना है) स्वचालित रूप से आपके एग्रीगेट पर कॉन्फ़िगर करने योग्य बीन्स की जांच करेगा। यह @Aggregate
. में परिभाषित फ़ील्ड के आधार पर ऐसा करता है (यानी एक्सॉन का स्प्रिंग स्टीरियोटाइप एनोटेशन)। अधिक विशेष रूप से, आप repository
. का उपयोग कर सकते हैं @Aggregate
. में फ़ील्ड उस रिपॉजिटरी के बीन नाम को परिभाषित करने के लिए जिसका आप उपयोग करना चाहते हैं।
इस प्रकार आपको बस एक GenericJpaRepository
. प्रदान करने में सक्षम होना चाहिए वांछित identifierConverter
के साथ बीन . उस बीन का नाम @Aggregate
. में निर्दिष्ट किया जा सकता है आपके MyAggregate
. पर एनोटेशन , ताकि एक्सॉन का ऑटो कॉन्फिगर इसे सही तरीके से उठा सके। आशा है कि यह आपकी मदद करेगा!