मेरे पास इस समय एक ही एप्लिकेशन में कई वर्कफ़्लो चल रहे हैं, लेकिन वे अंततः अपने समर्पित jvm में चलेंगे। ऐसा लगता है कि मेरे पास केवल एक सर्विस एक्टिवेटर हो सकता है जिसमें एक हैंडल विधि प्रदान की गई हो, यह खोजने में सक्षम नहीं है कि प्रत्येक स्वतंत्र वर्कफ़्लो के लिए अनिवार्य रूप से एक को कैसे जोड़ा जाए। किसी भी दस्तावेज लिंक या कोड नमूने की बहुत सराहना की जाती है।

return IntegrationFlows.from(receivedDataChannel())
    .enrichHeaders(h -> h.header("kafka_source_topic", alertsInputTopic))
    .enrichHeaders(h -> h.header("target", "MLAlgo"))
    .transform(Transformers.fromJson())
    .filter(this::shouldProcess)
    .log()
    .handle(this)
    .log()
    .get();

तो यह हैंडल विधि एक वर्कफ़्लो के लिए बहुत अच्छा काम करती है लेकिन मेरे पास कई हैं और प्रत्येक को उस वर्कफ़्लो के भीतर काम करने के लिए अपनी समर्पित हैंडल विधि की आवश्यकता होती है। मैं हमेशा एक के साथ प्रबंधन करने के लिए कुछ हैक कर सकता हूं लेकिन मैं अलग कोड साफ करना चाहता हूं। धन्यवाद

-1
Mark1234 1 अप्रैल 2020, 07:23

1 उत्तर

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

handle(this) का उपयोग करने के बजाय - सेवा कोड को एक अलग वर्ग में रखें, इसे @Bean के रूप में जोड़ें और इसे प्रोटोटाइप @Scope में डालें; फिर

.handle("beanName")

और प्रत्येक को अपनी प्रति प्राप्त होगी।

1
Gary Russell 1 अप्रैल 2020, 13:39