• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    基于ActiveMQ異構(gòu)類加載器反序列化的實現(xiàn)方法及裝置制造方法及圖紙

    技術(shù)編號:15638789 閱讀:172 留言:0更新日期:2017-06-15 19:26
    本發(fā)明專利技術(shù)公開了基于ActiveMQ異構(gòu)類加載器反序列化的實現(xiàn)方法及裝置,該方法包括:對消息中間件ActiveMQ的API服務(wù)進行修改,使修改后的API服務(wù)支持自定義類加載器;在反序列化數(shù)據(jù)時,調(diào)用修改后的API服務(wù);通過修改后的API服務(wù)在類加載器中查找對應(yīng)的類組件,利用查找到的類組件來對數(shù)據(jù)進行反序列化。該方法實現(xiàn)避免ActiveMQ的API服務(wù)拋出異常。

    【技術(shù)實現(xiàn)步驟摘要】
    基于ActiveMQ異構(gòu)類加載器反序列化的實現(xiàn)方法及裝置
    本專利技術(shù)涉及計算機
    ,特別是涉及基于ActiveMQ異構(gòu)類加載器反序列化的實現(xiàn)方法及裝置。
    技術(shù)介紹
    隨著大數(shù)據(jù)云計算的來臨,分布式應(yīng)用程序已成為系統(tǒng)架構(gòu)的主流設(shè)計,但在設(shè)計分布式系統(tǒng)時,系統(tǒng)程序之間的耦合度尤為重要。耦合意味著兩個系統(tǒng)程序或者多個系統(tǒng)程序之間的相互依賴關(guān)系。一般簡單的方式是在所有的系統(tǒng)程序中從架構(gòu)設(shè)計上與其他程序間的交叉實現(xiàn),這樣必然會導致,一個系統(tǒng)程序改變,另一個應(yīng)用程序也要跟著改變。這種架構(gòu)是一種高耦合的應(yīng)用。在系統(tǒng)維護管理上會造成巨大的困難,因為即使很小的一個改動,很可能會涉及到整個大系統(tǒng)。低耦合是一種一個應(yīng)用的改變不會影響到其他系統(tǒng)應(yīng)用的集成方式。大數(shù)據(jù)來臨同時也面臨著大數(shù)據(jù)的處理、高并發(fā)等等問題,這是對一個企業(yè)的挑戰(zhàn),也是對一個系統(tǒng)的程序設(shè)計的挑戰(zhàn)。在程序設(shè)計采用低耦合插件化的設(shè)計模式,可以在大數(shù)據(jù)緩沖上采用了ActiveMQ(簡稱MQ)。ActiveMQ就是采用低耦合的應(yīng)用架構(gòu)。任何一個應(yīng)用對ActiveMQ的調(diào)用不依賴與任何其他應(yīng)用,沒有任何依賴或者順序要求,ActiveMQ是一款支持高并發(fā),高吞吐量的消息中間件。若系統(tǒng)架構(gòu)是采用類似OSGI的插件化模式開發(fā),區(qū)別于傳統(tǒng)普通的應(yīng)用,傳統(tǒng)普通的應(yīng)用整個系統(tǒng)一般都是只有一個類加載器,而插件化模式開發(fā)的系統(tǒng)由于是插件化系統(tǒng),每個插件及依賴于主框架提供的服務(wù)又都可以獨立運行,所以每個插件都擁有自己的類加載器。而調(diào)用的MQ的提供API服務(wù)是由主框架提供的。由于MQ提供API的自身機制,在序列化的時候,只允許當前類加載器去反序列數(shù)據(jù),也就是哪個應(yīng)用啟動的MQ的API服務(wù),MQ的API服務(wù)在反序列化的時候,就只能通過那個應(yīng)用的類加載器來反序列化數(shù)據(jù),所以當子插件在調(diào)用主架構(gòu)提供的MQ的API服務(wù)時,就無法序列化插件自身加載的類。例如:MQ的API服務(wù)是有由A框架啟動的,那么他的加載器為a,子插件B的類加載器b,加載了一個類b1.class,當B插件在調(diào)用A框架提供的MQ的API服務(wù)將數(shù)據(jù)序列化成b1時,就會拋出類找不到異常(ClassNotFoundException),因為加載器a根本沒有加載類b1.class。參考圖1,該圖為原生態(tài)方式,原生態(tài)MQ提供的API服務(wù)在啟動的時候,只能使用當前啟動它容器或框架的類加載器,所以當其他類加載器加載的應(yīng)用去調(diào)用MQ的API服務(wù)時,MQ的API服務(wù)就從自己身的類加載中找不到要反序列化的類對象,這時MQ的API服務(wù)就會拋出異常。
    技術(shù)實現(xiàn)思路
    本專利技術(shù)的目的是提供基于ActiveMQ異構(gòu)類加載器反序列化的實現(xiàn)方法及裝置,以實現(xiàn)避免ActiveMQ的API服務(wù)拋出異常。為解決上述技術(shù)問題,本專利技術(shù)提供基于ActiveMQ異構(gòu)類加載器反序列化的實現(xiàn)方法,該方法包括:對消息中間件ActiveMQ的API服務(wù)進行修改,使修改后的API服務(wù)支持自定義類加載器;在反序列化數(shù)據(jù)時,調(diào)用修改后的API服務(wù);通過修改后的API服務(wù)在類加載器中查找對應(yīng)的類組件,利用查找到的類組件來對數(shù)據(jù)進行反序列化。優(yōu)選的,對消息中間件ActiveMQ的API服務(wù)進行修改,使修改后的API服務(wù)支持自定義類加載器,包括:定義接口SynObjectMessage;對于接口SynObjectMessage,增加支持自定義類加載器的函數(shù)getObject(ClassLoaderclassLoader)。優(yōu)選的,接口SynObjectMessage繼承接口ObjectMessage。優(yōu)選的,所述利用查找到的類組件來對數(shù)據(jù)進行反序列化之后,還包括:將數(shù)據(jù)反序列化為類對象。本專利技術(shù)還提供一種基于ActiveMQ異構(gòu)類加載器反序列化的實現(xiàn)裝置,用于實現(xiàn)上述基于ActiveMQ異構(gòu)類加載器反序列化的實現(xiàn)方法,該裝置包括:修改模塊,用于對消息中間件ActiveMQ的API服務(wù)進行修改,使修改后的API服務(wù)支持自定義類加載器;調(diào)用模塊,用于在反序列化數(shù)據(jù)時,調(diào)用修改后的API服務(wù);查找模塊,用于通過修改后的API服務(wù)在類加載器中查找對應(yīng)的類組件,利用查找到的類組件來對數(shù)據(jù)進行反序列化。優(yōu)選的,所述修改模塊包括:定義單元,用于定義接口SynObjectMessage;增加單元,用于對于接口SynObjectMessage,增加支持自定義類加載器的函數(shù)getObject(ClassLoaderclassLoader)。優(yōu)選的,接口SynObjectMessage繼承接口ObjectMessage。優(yōu)選的,所述查找模塊還包括:類對象生成單元,用于將數(shù)據(jù)反序列化為類對象。本專利技術(shù)所提供的基于ActiveMQ異構(gòu)類加載器反序列化的實現(xiàn)方法及裝置,對消息中間件ActiveMQ的API服務(wù)進行修改,使修改后的API服務(wù)支持自定義類加載器;在反序列化數(shù)據(jù)時,調(diào)用修改后的API服務(wù);通過修改后的API服務(wù)在類加載器中查找對應(yīng)的類組件,利用查找到的類組件來對數(shù)據(jù)進行反序列化。可見,對MQ提供的API進行了改進,使API服務(wù)能實現(xiàn)自定義類加載器,讓MQ原生態(tài)的API支持自定義類加載器,如此在調(diào)用MQ的API服務(wù)將數(shù)據(jù)反序列化成指定類對象的時候,為其指定類加載器,這樣MQ服務(wù)在反序列化數(shù)據(jù)的時候就會在指定的類加載器中找到相應(yīng)的類來進行反序列化,因此,ActiveMQ的API服務(wù)具有自定義設(shè)置類加載器的能力,實現(xiàn)異構(gòu)類加載器的數(shù)據(jù)反序列化,避免ActiveMQ的API服務(wù)拋出異常。附圖說明為了更清楚地說明本專利技術(shù)實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本專利技術(shù)的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。圖1為原生態(tài)MQ提供的API服務(wù)示意圖;圖2為本專利技術(shù)所提供的基于ActiveMQ異構(gòu)類加載器反序列化的實現(xiàn)方法的流程圖;圖3為改進后的API服務(wù)示意圖;圖4為JMS中針對消息Message支持的五種類型接口示意圖;圖5為本專利技術(shù)所提供的基于ActiveMQ異構(gòu)類加載器反序列化的實現(xiàn)裝置的結(jié)構(gòu)示意圖。具體實施方式本專利技術(shù)的核心是提供基于ActiveMQ異構(gòu)類加載器反序列化的實現(xiàn)方法及裝置,以實現(xiàn)避免ActiveMQ的API服務(wù)拋出異常。為了使本
    的人員更好地理解本專利技術(shù)方案,下面將結(jié)合本專利技術(shù)實施例中的附圖,對本專利技術(shù)實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本專利技術(shù)一部分實施例,而不是全部的實施例。基于本專利技術(shù)中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本專利技術(shù)保護的范圍。術(shù)語解釋如下:ActiveMQ:簡稱:MQ,是一種面向消息的,能夠跨越多語言和多系統(tǒng)的應(yīng)用集成消息通信中間件。序列化:將數(shù)據(jù)結(jié)構(gòu)或?qū)ο筠D(zhuǎn)換成二進制串的過程。反序列化:將在序列化過程中所生成的二進制串轉(zhuǎn)換成數(shù)據(jù)結(jié)構(gòu)或者對象的過程。類加載器:是JavaTM中的一個很重要的概念。類加載器負責加載Java類的字節(jié)代碼到Java虛擬機中。OSGI:OSGi(OpenServiceGatewayInitiative)技術(shù)是Java動態(tài)化模塊化系統(tǒng)的一系列規(guī)范。OSGi一本文檔來自技高網(wǎng)
    ...
    基于ActiveMQ異構(gòu)類加載器反序列化的實現(xiàn)方法及裝置

    【技術(shù)保護點】
    一種基于ActiveMQ異構(gòu)類加載器反序列化的實現(xiàn)方法,其特征在于,包括:對消息中間件ActiveMQ的API服務(wù)進行修改,使修改后的API服務(wù)支持自定義類加載器;在反序列化數(shù)據(jù)時,調(diào)用修改后的API服務(wù);通過修改后的API服務(wù)在類加載器中查找對應(yīng)的類組件,利用查找到的類組件來對數(shù)據(jù)進行反序列化。

    【技術(shù)特征摘要】
    1.一種基于ActiveMQ異構(gòu)類加載器反序列化的實現(xiàn)方法,其特征在于,包括:對消息中間件ActiveMQ的API服務(wù)進行修改,使修改后的API服務(wù)支持自定義類加載器;在反序列化數(shù)據(jù)時,調(diào)用修改后的API服務(wù);通過修改后的API服務(wù)在類加載器中查找對應(yīng)的類組件,利用查找到的類組件來對數(shù)據(jù)進行反序列化。2.如權(quán)利要求1所述的方法,其特征在于,對消息中間件ActiveMQ的API服務(wù)進行修改,使修改后的API服務(wù)支持自定義類加載器,包括:定義接口SynObjectMessage;對于接口SynObjectMessage,增加支持自定義類加載器的函數(shù)getObject(ClassLoaderclassLoader)。3.如權(quán)利要求2所述的方法,其特征在于,接口SynObjectMessage繼承接口ObjectMessage。4.如權(quán)利要求1至3中任意一項所述的方法,所述利用查找到的類組件來對數(shù)據(jù)進行反序列化之后,還包括:將數(shù)據(jù)反序列化為類對象。5.一種基于Ac...

    【專利技術(shù)屬性】
    技術(shù)研發(fā)人員:張俊竇鳳立周小林蘇濤李金劉大海
    申請(專利權(quán))人:上海大漢三通數(shù)據(jù)通信有限公司
    類型:發(fā)明
    國別省市:上海,31

    網(wǎng)友詢問留言 已有0條評論
    • 還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 最新国产AV无码专区亚洲| 亚洲Av永久无码精品三区在线| 中文有无人妻vs无码人妻激烈| 中文字幕精品无码亚洲字| 精品少妇人妻av无码久久| 永久免费AV无码网站在线观看| 亚洲级αV无码毛片久久精品| 精品无码一区二区三区电影 | 热の无码热の有码热の综合| 国产精品无码日韩欧| 国产精品无码AV天天爽播放器| 亚洲日韩精品A∨片无码| 精品无码成人久久久久久| 国产爆乳无码一区二区麻豆| 免费无码专区毛片高潮喷水 | 中文有无人妻vs无码人妻激烈| 亚洲中文无码a∨在线观看| 亚洲国产精品无码久久青草 | 亚洲精品无码久久久久久| 亚洲不卡中文字幕无码| 国产嫖妓一区二区三区无码| 亚洲人片在线观看天堂无码| 亚洲国产AV无码专区亚洲AV | 无码137片内射在线影院| 无码专区6080yy国产电影| 国产成人无码AV片在线观看| 亚洲国产成人精品无码区在线网站| 97无码人妻福利免费公开在线视频| 国产精品爽爽V在线观看无码| 无码日韩人妻av一区免费| 亚洲中文字幕无码mv| 无码区日韩特区永久免费系列 | 亚洲av中文无码字幕色不卡| 无码乱人伦一区二区亚洲一| 亚洲国产a∨无码中文777| 亚洲AV无码1区2区久久| 无码人妻精品一区二区三区66| 无码精品人妻一区二区三区中| 久久久久亚洲AV无码专区首| 无套中出丰满人妻无码| 无码人妻精品中文字幕免费东京热|