2012-06-21 18 views
6

एक स्प्रिंग XML कॉन्फ़िगरेशन फ़ाइल में स्प्रिंग एकता का उपयोग करने के लिए, मैं si नाम स्थान घोषित करने की जरूरत है, और XML स्कीमा स्कीमा स्थान प्रदान करते हैं:वसंत एकीकरण में कई एक्सएमएल स्कीमा क्यों हैं, और मुझे किस का उपयोग करना चाहिए?

<?xml version="1.0" encoding="UTF-8"?> 
<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:int="http://www.springframework.org/schema/integration" 
    xsi:schemaLocation="http://www.springframework.org/schema/integration 
     http://www.springframework.org/schema/integration/spring-integration.xsd 
     http://www.springframework.org/schema/beans 
     http://www.springframework.org/schema/beans/spring-beans.xsd"> 

हालांकि, डॉक्स के अनुसार, वहाँ के लिए दो स्कीमा हैं से चुनें:

अब से, उपयोगकर्ताओं को हमेशा नवीनतम एक्सएमएल स्कीमा (वर्तमान में संस्करण 2.1) घोषित करना होगा। वैकल्पिक रूप से, वे संस्करण-कम स्कीमा का उपयोग कर सकते हैं। आम तौर पर, सबसे अच्छा विकल्प संस्करण-कम नामस्थानों का उपयोग करना है, क्योंकि ये स्वचालित रूप से स्प्रिंग एकीकरण के नवीनतम उपलब्ध संस्करण का उपयोग करेंगे।

से

: http://static.springsource.org/spring-integration/reference/htmlsingle/#2.1-schema-updated

क्यों दोनों spring-integration.xsd और spring-integration-2.1.xsd है? मैंने दोनों की जांच की, और उत्तरार्द्ध पूर्व के रूप में लगभग तीन गुना बड़ा है।

तो दस्तावेज़ क्यों कहते हैं कि संस्करण-कम स्कीमा का उपयोग करना बेहतर है? एक या दूसरे का उपयोग करने के क्या परिणाम हैं? या यह सिर्फ एक बग है कि spring-integration.xsd और spring-integration-2.1.xsd अलग हैं?

उत्तर

6

आपको इंटरनेट पर होस्ट किए गए स्कीमा को नहीं देखना चाहिए; स्कीमा जार में वितरित किया जाता है; मेटा-आईएनएफ के तहत एक मैपिंग फ़ाइल भी है।

जैसा कि आप देख सकते हैं, नीचे, हम हमेशा मौजूदा स्कीमा में संस्करण-कम स्कीमा को मैप करते हैं; इसलिए हम हमेशा आपके एप्लिकेशन कॉन्फ़िगरेशन में संस्करण-कम स्कीमा का उपयोग करने की सलाह देते हैं, अन्यथा जब भी आप अपग्रेड करते हैं तो आपको अपनी फ़ाइलों को बदलना होगा; उदाहरण के लिए 2.2 2.1 स्कीमा के साथ नहीं चलेंगे, लेकिन यदि आप स्कीमा पर कोई संस्करण नहीं उपयोग करते हैं, तो फ्रेमवर्क सही का उपयोग करने का ख्याल रखेगा।

इंटरनेट पर संस्करण-कम स्कीमा एक पुरानी 1.0 स्कीमा है; हमें यह पता लगाने की जरूरत है कि हम इसे कैसे बदल सकते हैं, लेकिन यह आसान नहीं है, विभिन्न कारणों से,

http\://www.springframework.org/schema/integration/spring-integration-1.0.xsd=org/springframework/integration/config/xml/spring-integration-1.0.xsd http\://www.springframework.org/schema/integration/spring-integration-2.0.xsd=org/springframework/integration/config/xml/spring-integration-2.0.xsd http\://www.springframework.org/schema/integration/spring-integration-2.1.xsd=org/springframework/integration/config/xml/spring-integration-2.1.xsd http\://www.springframework.org/schema/integration/spring-integration.xsd=org/springframework/integration/config/xml/spring-integration-2.1.xsd