2012-06-21 68 views
6

要在Spring XML配置文件中使用Spring集成,我需要聲明si命名空間,並提供了XML Schema的模式位置:爲什麼Spring集成有幾個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"> 

但是,根據文檔,有兩種模式來選擇:

從現在開始,用戶必須始終聲明最新的XML架構 (當前版本2.1)。或者,他們可以使用無版本的 模式。通常,最好的選擇是使用無版本的命名空間 ,因爲這些命名空間將自動使用集成的最新版本的Spring 。

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

爲什麼會出現兩種spring-integration.xsdspring-integration-2.1.xsd?我檢查了兩者,後者幾乎是前者的三倍。

那麼爲什麼文檔說最好使用無版本模式?使用其中一種或另一種的後果是什麼?還是隻是spring-integration.xsdspring-integration-2.1.xsd有所不同?

回答

6

你不應該看看互聯網上託管的模式;模式分佈在罐子裏; META-INF下還有一個映射文件。如你所見,下面我們總是將無版本模式映射到當前模式;所以我們建議在應用程序配置中始終使用無版本模式,否則每次升級時都必須更改文件。例如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

相關問題