專利名稱:一種Camel路由和媒介引擎導入方法、裝置及架構(gòu)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計算機技術(shù)領(lǐng)域,尤其涉及一種Camel路由和媒介引擎導入方法、裝置及架構(gòu)。
背景技術(shù):
Camel架構(gòu)除支持腳本語言實現(xiàn)路由邏輯外,目前只能通過Camel支持的XML配置文件方式配置動態(tài)的路由,其XML配置是基于依賴注入的方式,有固定的XML基本類型定義 (XML schema)來描述可以配置的XML標簽和約束。Camel的XML配置已經(jīng)有固定的實現(xiàn), 只能根據(jù)它的約定來配置路由,并且難以修改Camel的XML配置解析引擎,如果使用自定義配置內(nèi)容則不能通過Camel默認的解釋器檢驗,或者只能借助注入對象屬性的原始方式進行煩瑣、可讀性和理解性差的配置,導致自定義路由和媒介引擎無法導入,難以實現(xiàn)自定義組件的添加。
發(fā)明內(nèi)容
本發(fā)明實施例的目的在于提供一種Camel路由和媒介引擎導入方法,旨在解決由于Camel只支持其自身XML配置文件方式配置動態(tài)路由,導致自定義路由和媒介引擎無法導入,難以實現(xiàn)自定義組件的添加的問題。本發(fā)明實施例是這樣實現(xiàn)的,一種Camel路由和媒介引擎導入方法,所述方法包括下述步驟將自定義命名空間添加到Camel的命名空間;在Camel解釋器中對自定義解釋器進行注冊;將自定義組件實例注冊到Camel的上下文對象中;建立Camel的XML配置文件與預先生成的自定義XSD、XSD配置文件khema、所述自定義解釋器的配置文件、以及所述自定義命名空間的關(guān)聯(lián)。本發(fā)明實施例的另一目的在于提供一種Camel路由和媒介引擎導入裝置,所述裝置包括命名空間擴展單元,用于將自定義命名空間添加到Camel的命名空間;解釋器注冊單元,用于在Camel解釋器中對自定義解釋器進行注冊;組件實例注冊單元,用于將自定義組件實例注冊到Camel的上下文對象中;以及關(guān)聯(lián)關(guān)系構(gòu)建單元,用于構(gòu)建Camel的XML配置文件與預先構(gòu)建的自定義XSD、XSD 配置文件&&!1^、所述自定義解釋器的配置文件、以及所述自定義命名空間的關(guān)聯(lián)。本發(fā)明實施例的另一目的在于提供一種包括Camel路由和媒介引擎導入裝置的系統(tǒng),所述Camel路由和媒介引擎導入裝置包括命名空間擴展單元,用于將自定義命名空間添加到Camel的命名空間;解釋器注冊單元,用于在Camel解釋器中對自定義解釋器進行注冊;組件實例注冊單元,用于將自定義組件實例注冊到Camel的上下文對象中;以及
關(guān)聯(lián)關(guān)系構(gòu)建單元,用于構(gòu)建Camel的XML配置文件與預先構(gòu)建的自定義XSD、XSD 配置文件&&!1^、所述自定義解釋器的配置文件、以及所述自定義命名空間的關(guān)聯(lián)。本發(fā)明實施例通過對Camel自定義命名空間進行擴展,在Camel解釋器中對自定義解釋器進行注冊,將自定義組件實例注冊到Camel的上下文對象中,并建立Camel的XML 配置文件與預先生成的自定義XSD、XSD配置文件khema、自定義解釋器的配置文件、以及自定義命名空間的關(guān)聯(lián),實現(xiàn)用戶自定義Camel路由和媒介引擎的導入,提高了 Camel的可擴展性,使得用戶能夠根據(jù)自身的需要在Camel中導入相應的路由和媒介引擎,進一步增強Camel的功能。
圖1是本發(fā)明第一實施例提供的Camel路由和媒介引擎導入方法的實現(xiàn)流程圖;圖2是本發(fā)明第三實施例提供的導入后的Camel路由和媒介引擎各部分的關(guān)聯(lián)關(guān)系圖;圖3是本發(fā)明第三實施例提供的Camel路由和媒介引擎導入裝置的結(jié)構(gòu)圖。
具體實施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明實施例通過將自定義組件實例注冊到Camel的上下文對象中,并將預先生成配置文件與Camel的XML配置進行關(guān)聯(lián),實現(xiàn)用戶自定義Camel路由和媒介引擎的導入, 提高Camel的可擴展性,使得用戶能夠根據(jù)自身的需要在Camel中導入相應的路由和媒介引擎,進一步增強了 Camel的功能。本發(fā)明實施例提供了一種Camel路由和媒介引擎導入方法,所述方法包括下述步驟將自定義命名空間添加到Camel的命名空間;在Camel解釋器中對自定義解釋器進行注冊;將自定義組件實例注冊到Camel的上下文對象中;建立Camel的XML配置文件與預先生成的自定義XSD、XSD配置文件khema、所述自定義解釋器的配置文件、以及所述自定義命名空間的關(guān)聯(lián)。本發(fā)明實施例還提供了一種Camel路由和媒介引擎導入裝置,所述裝置包括命名空間擴展單元,用于將自定義命名空間添加到Camel的命名空間;解釋器注冊單元,用于在Camel解釋器中對自定義解釋器進行注冊;組件實例注冊單元,用于將自定義組件實例注冊到Camel的上下文對象中;以及關(guān)聯(lián)關(guān)系構(gòu)建單元,用于構(gòu)建Camel的XML配置文件與預先構(gòu)建的自定義XSD、XSD 配置文件&&!1^、所述自定義解釋器的配置文件、以及所述自定義命名空間的關(guān)聯(lián)。本發(fā)明實施例還提供了一種包括Camel路由和媒介引擎導入裝置的系統(tǒng),所述 Camel路由和媒介引擎導入裝置包括命名空間擴展單元,用于將自定義命名空間添加到Camel的命名空間;
4
解釋器注冊單元,用于在Camel解釋器中對自定義解釋器進行注冊;組件實例注冊單元,用于將自定義組件實例注冊到Camel的上下文對象中;以及關(guān)聯(lián)關(guān)系構(gòu)建單元,用于構(gòu)建Camel的XML配置文件與預先生成的自定義XSD、XSD 配置文件&&!1^、所述自定義解釋器的配置文件、以及所述自定義命名空間的關(guān)聯(lián)。本發(fā)明實施例通過對Camel自定義命名空間進行擴展,在Camel解釋器中對自定義解釋器進行注冊,將自定義組件實例注冊到Camel的上下文對象中,并建立Camel的XML 配置文件與預先生成的自定義XSD、XSD配置文件khema、自定義解釋器的配置文件、以及自定義命名空間的關(guān)聯(lián),實現(xiàn)用戶自定義Camel路由和媒介引擎的導入,提高了 Camel的可擴展性,使得用戶能夠根據(jù)自身的需要在Camel中導入相應的路由和媒介引擎,進一步增強了 Camel的功能。以下結(jié)合具體實施例對本發(fā)明的具體實現(xiàn)進行詳細描述實施例一圖1示出了本發(fā)明第一實施例提供的Camel路由和媒介引擎導入方法的實現(xiàn)流程,詳述如下在步驟SlOl中,將自定義命名空間添加到Camel的命名空間;在本發(fā)明實施例中,企業(yè)可以按照自身的需要建立企業(yè)的命名空間,以清楚地標注企業(yè)服務特點。在步驟S102中,在Camel解釋器中對自定義解釋器進行注冊;在步驟S103中,將自定義組件實例注冊到Camel的上下文對象中;在本發(fā)明實施例中,Camel的上下文對象負責自定義組件實例的注冊,并保存相應的路由和媒介規(guī)則。在步驟S104中,建立Camel的XML配置文件與預先生成的自定義XSD、XSD配置文
所述自定義解釋器的配置文件、以及所述自定義命名空間的關(guān)聯(lián)。在本發(fā)明實施例中,應生成描述自定義XML文檔的合法構(gòu)建模塊的自定義XSD,生成所述自定義XSD的XSD配置文件khema,生成對所述自定義解釋器進行描述的配置文件, 并通過Camel的XML配置文件建立與這些文件的關(guān)聯(lián)關(guān)系,從而建立對其的引用。本發(fā)明實施例通過對Camel自定義命名空間進行擴展,在Camel解釋器中對自定義解釋器進行注冊,將自定義組件實例注冊到Camel的上下文對象中,將預先生成預先生成的自定義XSD、XSD配置文件khema、以及自定義解釋器的配置文件與Camel的XML配置文件進行關(guān)聯(lián),實現(xiàn)用戶自定義Camel路由和媒介引擎的導入,提高了 Camel的可擴展性,使得用戶能夠根據(jù)自身的需要在Camel中導入相應的路由和媒介引擎,進一步增強了 Camel的功能。實施例二 圖2示出了本發(fā)明第二實施例提供的導入后的Camel路由和媒介引擎的各部分的關(guān)聯(lián)關(guān)系,詳述如下在本發(fā)明實施例中,默認XSD,Camel的XML配置文件,解釋器注冊類,Camel上下文為現(xiàn)有Camel的組成部分,NamespaceHandlerSupport為解釋器注冊類的基類,解釋器注冊類繼承自NamespaceHandlerSupport類。自定義XSD、XSD配置文件khema、自定義解釋器的配置文件Handlers,以及自定義XML解釋器類為導入的Camel路由和媒介引擎的組成部分,都與Camel的XML配置文件存在關(guān)聯(lián)關(guān)系。接口 BeanDefinitionParser定義了解釋器的基本接口,自定義XML解釋器類對其進行了實現(xiàn),通過定義良好地接口,較好地對接收到的XML格式數(shù)據(jù)進行解析。本領(lǐng)域普通技術(shù)人員可以理解實現(xiàn)上述實施例方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,所述的程序可以存儲于一計算機可讀取存儲介質(zhì)中, 所述的存儲介質(zhì),如ROM/RAM、磁盤、光盤等。實施例三圖3示出了本發(fā)明第三實施例提供的Camel路由和媒介引擎導入裝置的結(jié)構(gòu),為了便于說明,僅示出了與本發(fā)明實施例相關(guān)的部分。命名空間擴展單元31,用于將自定義命名空間添加到Camel的命名空間;解釋器注冊單元32,用于在Camel解釋器中對自定義解釋器進行注冊;組件實例注冊單元33,用于將自定義組件實例注冊到Camel的上下文對象中;自定義XSD生成單元34,用于生成自定義XML文檔的合法構(gòu)建模塊;在本發(fā)明實施例中,自定義XML文檔的合法構(gòu)建模塊包括定義可出現(xiàn)在文檔中的元素,元素屬性,元素的子元素,子元素的次序,子元素的數(shù)目,以及元素和屬性的默認值以及固定值等。XSD配置文件khema生成單元35,用于生成所述自定義XSD生成單元;34生成的自定義XSD的XSD配置文件khema,對自定義XSD進行描述;自定義解釋器的配置文件生成單元36,用于生成對自定義解釋器進行描述的配置文件;以及關(guān)聯(lián)關(guān)系構(gòu)建單元37,用于構(gòu)建Camel的XML配置文件與預先生成的自定義XSD、 XSD配置文件&&!1^、所述自定義解釋器的配置文件、以及所述自定義命名空間的關(guān)聯(lián)。本發(fā)明實施例通過對Camel自定義命名空間進行擴展,在Camel解釋器中對自定義解釋器進行注冊,將自定義組件實例注冊到Camel的上下文對象中,并建立Camel的XML 配置文件與預先生成的自定義XSD、XSD配置文件khema、自定義解釋器的配置文件、以及自定義命名空間的關(guān)聯(lián),實現(xiàn)用戶自定義Camel路由和媒介引擎的生成,提高了 Camel的可擴展性,使得用戶能夠根據(jù)自身的需要在Camel中構(gòu)建和生成相應的路由和媒介引擎,進一步增強了 Camel的功能。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
權(quán)利要求
1.一種Camel路由和媒介引擎導入方法,其特征在于,所述方法包括下述步驟 將自定義命名空間添加到Camel的命名空間;在Camel解釋器中對自定義解釋器進行注冊; 將自定義組件實例注冊到Camel的上下文對象中;建立Camel的XML配置文件與預先生成的自定義XSD、XSD配置文件khema、所述自定義解釋器的配置文件、以及所述自定義命名空間的關(guān)聯(lián)。
2.如權(quán)利要求1所述的方法,其特征在于,所述建立Camel的XML配置文件與預先生成的自定義XSD、XSD配置文件&&!1^、所述自定義解釋器的配置文件、以及所述自定義命名空間的關(guān)聯(lián)的步驟之前,所述方法進一步包括下述步驟生成描述自定義XML文檔的合法生成模塊的自定義XSD ; 生成所述自定義XSD的XSD配置文件khema ; 生成對所述自定義解釋器進行描述的配置文件。
3.—種Camel路由和媒介引擎導入裝置,其特征在于,所述裝置包括 命名空間擴展單元,用于將自定義命名空間添加到Camel的命名空間; 解釋器注冊單元,用于在Camel解釋器中對自定義解釋器進行注冊;組件實例注冊單元,用于將自定義組件實例注冊到Camel的上下文對象中;以及關(guān)聯(lián)關(guān)系構(gòu)建單元,用于構(gòu)建Camel的XML配置文件與預先生成的自定義XSD、XSD配置文所述自定義解釋器的配置文件、以及所述自定義命名空間的關(guān)聯(lián)。
4.如權(quán)利要求3所述的裝置,其特征在于,所述裝置還包括自定義XSD生成單元,生成描述自定義XML文檔的合法構(gòu)建模塊的自定義XSD ; XSD配置文件khema生成單元,生成所述自定義XSD生成單元生成的自定義XSD的XSD 配置文件khema ;以及自定義解釋器的配置文件生成單元,生成對自定義解釋器進行描述的配置文件。
5.一種包括Camel路由和媒介引擎導入裝置的系統(tǒng),其特征在于,所述Camel路由和媒介引擎導入裝置包括命名空間擴展單元,用于將自定義命名空間添加到Camel的命名空間; 解釋器注冊單元,用于在Camel解釋器中對自定義解釋器進行注冊; 組件實例注冊單元,用于將自定義組件實例注冊到Camel的上下文對象中;以及關(guān)聯(lián)關(guān)系構(gòu)建單元,用于構(gòu)建Camel的XML配置文件與預先構(gòu)建的自定義XSD、XSD配置文所述自定義解釋器的配置文件、以及所述自定義命名空間的關(guān)聯(lián)。
6.如權(quán)利要求5所述的系統(tǒng),其特征在于,所述Camel路由和媒介引擎導入裝置還包括自定義XSD生成單元,生成描述自定義XML文檔的合法構(gòu)建模塊的自定義XSD ; XSD配置文件khema生成單元,生成所述自定義XSD生成單元生成的自定義XSD的XSD 配置文;以及自定義解釋器的配置文件生成單元,生成對自定義解釋器進行描述的配置文件。
全文摘要
本發(fā)明適用于計算機技術(shù)領(lǐng)域,提供了一種Camel路由和媒介引擎導入方法、裝置及系統(tǒng),包括將自定義命名空間添加到Camel的命名空間;在Camel解釋器中對自定義解釋器進行注冊;將自定義組件實例注冊到Camel的上下文對象中;建立Camel的XML配置文件與預先生成的自定義XSD、XSD配置文件Schema、所述自定義解釋器的配置文件、以及所述自定義命名空間的關(guān)聯(lián)。本發(fā)明通過將自定義組件實例注冊到Camel的上下文對象中,實現(xiàn)了用戶自定義Camel路由和媒介引擎的導入,提高了Camel的可擴展性,使得用戶能夠根據(jù)自身的需要在Camel中導入相應的路由和媒介引擎,進一步增強了Camel的功能。
文檔編號H04L12/56GK102437945SQ20101029682
公開日2012年5月2日 申請日期2010年9月29日 優(yōu)先權(quán)日2010年9月29日
發(fā)明者胡錦敏 申請人:金蝶軟件(中國)有限公司