अपाचे ऊंट - समापन
हमने सीखा है कि समापन बिंदु हमारे एकीकरण कोड में कैसे दिखते हैं। जिन भावों का हमने अब तक उपयोग किया है जैसे किfile:/order, jms:orderQueue, direct:distributeOrderDSLसमापन बिंदु हैं। जैसा कि आप देखते हैं, वे यूआरआई विनिर्देश प्रारूपों का पालन करते हैं। इस URI का मूल्यांकन करते समय,CamelContext बनाता है Endpointउदाहरण; आपको तुरंत चिंता करने की ज़रूरत नहीं हैEndpoint अपने DSL में कार्यान्वयन।
हमारे पहले के उदाहरणों को लेते हुए, आप जावा डीएसएल में एंडपॉइंट्स यहाँ बताए हैं -
from ("file:/order").to("jms:orderQueue");
और वसंत में यहाँ के रूप में -
<route>
<from uri = "file:/order"/>
<to uri = "jms:orderQueue"/>
</route>
दोनों मामलों में, समापन बिंदु एक निरंतर स्ट्रिंग है। कुछ मामलों में, आप इस स्ट्रिंग को रनटाइम पर बनाना पसंद कर सकते हैं। आप जावा का उपयोग करके ऐसा कर सकते हैंStringफ़ॉर्मेटर विधियाँ। ऊंट इन URI स्ट्रिंग्स को रनटाइम पर बनाने के लिए एक और सरल तरीका प्रदान करता है। इस उद्देश्य के लिए, कैमल प्रदान करता हैfromF तथा toFउपयोगकर्ता-निर्दिष्ट मापदंडों के साथ तर्क स्वीकार करने वाले तरीके। निम्नलिखित कथन के उपयोग को दर्शाता हैtoF विधि -
from("direct:distributeOrderDSL”).toF("file://%s?fileName=%s", path, name);
इन तरीकों की वजह से जावा बिल्ट-इन का उपयोग करने की आवश्यकता है String फ़ॉर्मैटर विधियों का उपयोग किया जाता है।
समापन बिंदु अभिव्यक्ति की गणना करने के लिए ऊंट डिफ़ॉल्ट रूप से सरल भाषा का उपयोग करता है । Simple भाषा को मुख्य रूप से मूल्यांकन करने के लिए डिज़ाइन किया गया था Expressions तथा Predicatesकी जटिलताओं के बारे में ज्यादा परेशान किए बिना XPath। विधेय का मूल्यांकन करने के लिए, आप दूसरी भाषा को जोड़ सकते हैं जैसेxpath डिफ़ॉल्ट के साथ Simpleभाषा: हिन्दी। यह दूसरी भाषा को अलग करने के लिए धन चिह्न का उपयोग करके किया जाता है। यहाँ कोड स्निपेट दिखाता है कि कैसे संक्षिप्त करना हैxpath में लिखी अभिव्यक्ति के लिए स्ट्रिंग Simple।
from("direct:start")
.toD("jms:${orderQueue}+language:xpath:/order/@id");
में Spring, आप यहाँ के रूप में ही प्राप्त कर सकते हैं -
<route>
<from uri = "direct:start"/>
<toD uri = "jms:${orderQueue}+language:xpath:/order/@id"/>
</route>
आप जितनी चाहें उतनी भाषाओं को एकत्र कर सकते हैं, प्रत्येक को पिछले एक से अधिक चिह्न के साथ अलग किया जा सकता है। समर्थित भाषाओं की सूची यहां पाई जा सकती है ।