खैर, मेरे पास एक एप्लिकेशन है जो काफ्का से 2 विषयों को पढ़ता है, पहला सिर्फ एक सादा स्ट्रिंग है, और दूसरा विषय एक JSON है जिसे डीटीओ में परिवर्तित किया जाना चाहिए।

अगर मैं RecordMessageConverter का उपयोग करता हूं:

 @Bean
 public RecordMessageConverter converter() {
        return new StringJsonMessageConverter();
    }

पहला विषय (सिर्फ स्ट्रिंग) स्ट्रिंग को डीटीओ में बदलने के लिए एक अपवाद उठाता है, क्योंकि StringJsonMessageConverter इसे करने का प्रयास करता है। लेकिन दूसरा विषय सामान्य रूप से काम करता है।

कोई सुझाव, मैं इसे कैसे ठीक कर सकता हूं?

0
Ronaldo Lanhellas 25 जिंदा 2021, 15:25

1 उत्तर

सबसे बढ़िया उत्तर

ऑब्जेक्ट के कस्टम deserializer का उपयोग करें और यह कंस्ट्रक्टर। कुंजी deserializer के लिए, शायद आपका मामला StringDeserializer पर्याप्त होगा। deserializer में, आप deserialize विधि और विषय के नाम से प्रदर्शन करने के लिए अक्रमांकन के प्रकार का निर्धारण करें। प्रसंस्करण के दौरान, यानी कॉल टू पोल के बाद वस्तु के प्रकार का निर्धारण करें और तदनुसार प्रक्रिया करें।

दूसरा तरीका, निश्चित रूप से दो उपभोक्ताओं को व्यक्तिगत रूप से उपयोग करना है।

1
Ironluca 25 जिंदा 2021, 15:52
लेकिन दो उपभोक्ताओं को व्यक्तिगत रूप से उपयोग करने के लिए मुझे दो अनुप्रयोगों की आवश्यकता होगी, है ना?
 – 
Ronaldo Lanhellas
25 जिंदा 2021, 16:31
2 आवेदन नहीं, केवल 2 उपभोक्ता उदाहरण।
 – 
Ironluca
25 जिंदा 2021, 16:53
ठीक है, मैं इसे देख लूंगा। धन्यवाद
 – 
Ronaldo Lanhellas
25 जिंदा 2021, 16:55