真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

發(fā)布Hessian服務(wù)作為服務(wù)內(nèi)部基礎(chǔ)服務(wù)-創(chuàng)新互聯(lián)

摘要:Hessian經(jīng)常作為服務(wù)內(nèi)部RPC工具來使用,速度快效率高。重構(gòu)代碼的核心思想就是把共用的代碼段提出來,使代碼結(jié)構(gòu)優(yōu)化;架構(gòu)設(shè)計(jì)類似,把基本的共用的服務(wù)提出來,使架構(gòu)優(yōu)化。下面講述一下我在具體應(yīng)用中使用Spring3.2.4在Tomcat7.0.47下發(fā)布Hessian4.0.37服務(wù)的過程。關(guān)鍵詞:Spring, Hessian, JAVA, 架構(gòu)設(shè)計(jì), Hibernate, Tomcat
  Hessian經(jīng)常作為服務(wù)內(nèi)部RPC遠(yuǎn)程過程調(diào)用工具來使用,速度快效率高,我們的項(xiàng)目也不例外的使用了它。把一些基礎(chǔ)的服務(wù),被別的服務(wù)使用的服務(wù),專門提出來,使用Hessian發(fā)布一個(gè)單獨(dú)的服務(wù),供別的服務(wù)使用。我發(fā)現(xiàn)這里的邏輯,設(shè)計(jì)理念與《重構(gòu)》這本書里的思想如出一轍,重構(gòu)代碼的核心思想就是把共用的代碼段提出來,采用優(yōu)良的設(shè)計(jì)模式,來把代碼結(jié)構(gòu)優(yōu)化。架構(gòu)設(shè)計(jì)也是,把基本的共用的服務(wù)提出來,把架構(gòu)優(yōu)化。提出的服務(wù)當(dāng)然要求性能很高,處理正確,運(yùn)行穩(wěn)定,Hessian是一個(gè)好的選擇。  當(dāng)然Netty和Mina也是常用的Java NIO框架,它們的性能同樣優(yōu)良,我們也可以利用它來發(fā)布服務(wù),不過實(shí)現(xiàn)起來不如Hessian來的方便。因此,在工具的選擇上,我選擇了Hessian支持我們的系統(tǒng)架構(gòu)。  Hessian的好處有很多,它可以支持C#客戶端調(diào)用我們使用JAVA編寫的服務(wù),并且性能超群,傳輸速率很高。發(fā)布Hessian服務(wù)時(shí),它也支持集成Spring,下面就講述一下我在具體應(yīng)用中使用Spring3.2.4在Tomcat7.0.47下發(fā)布Hessian4.0.37服務(wù)的過程。 一、將project發(fā)布成Hessian服務(wù) 首先在WEB-INF目錄下配置web.xml文件,如下所示。
            remoting          org.springframework.web.servlet.DispatcherServlet          1                  remoting          /     
 由于使用了Spring框架,還需要Spring相關(guān)的配置,這里在WEB-INF目錄下添加remoting-servlet.xml文件。
                                                                                                                       
  可以看到remoting-servlet.xml文件中引用了hibernate.cfg.xml文件,自然也要將hibernate.cfg.xml添加到WEB-INF目錄下來,大家可以配合我的另一篇博客 關(guān)于項(xiàng)目中的DAL數(shù)據(jù)接入層架構(gòu)設(shè)計(jì) 理解這里的Spring配置。添加相關(guān)的JAR包,將project打包成WAR包放在Tomcat的webapps目錄下,啟動(dòng)Tomcat。  能配合Eclipse調(diào)試是最好不過了,你需要在Eclipse/Window/Preferences下的Server/Runtime Environments配置上你的Apache Tomcat v7.0,主要是把下載的apache-tomcat-7.0.47路徑設(shè)好。然后去Window/Show View把Servers界面調(diào)出來,添加Tomcat v7.0 Server at localhost。File/New建立Dynamic Web Project,新建的Dynamic Web Project如果要使用其它的project里的代碼,則右鍵它,打開Properties,在Deplyment Assembly中Add其它的project。右鍵它,點(diǎn)擊Debug As/Debug on Server,就可以看到它在Tomcat v7.0 Server at localhost中運(yùn)行了??赡軙?huì)報(bào)錯(cuò),記住把所有引用的jar包丟到apache-tomcat-7.0.47路徑lib下,注意jar版本號(hào)不一致要去除。  啟動(dòng)成功后,在瀏覽器地址欄中輸入:http://localhost/***HessianService/role-svc,如果在瀏覽器中出現(xiàn)的是 HTTP Status 405 - HessianServiceExporter only supports POST requests而不是404便說明發(fā)布成功。 二、調(diào)用Hessian服務(wù)  那么其它的使用此基礎(chǔ)服務(wù)的服務(wù)便可以以“客戶"的形式來使用Hessian服務(wù)了,同樣,在JAVA中調(diào)用Hessian服務(wù)也可以使用Spring,下面是spring.xml配置文件。
  
                       http://localhost/***HessianServcie/role-svc                                  com.wang.anqi.dataBll.RoleBLL            
 我們自己來管理這Spring上下文,RoleBLL的實(shí)例可以通過下面的代碼:RoleBLL m_roleBLL = (RoleBLL) SpringServiceSupport.getContext().getBean("roleBLLImpl"); 來獲取到。如此一來,就可以其它編寫其它服務(wù)啦,真是帶勁。  補(bǔ)充說一句,《重構(gòu)》這本書里處處使用著測試驅(qū)動(dòng)開發(fā)的思想,當(dāng)然這對于充分保證代碼邏輯的正確性是非常有好處的;類似的,把共用服務(wù)提取出來,作為基礎(chǔ)服務(wù),與不提出來代碼、架構(gòu)都變化許多,這時(shí)我們也需要有充分的保證,業(yè)務(wù)邏輯的正確性,畢竟是通過網(wǎng)絡(luò)來RPC遠(yuǎn)程過程調(diào)用的,對象的網(wǎng)絡(luò)傳輸還是有一定的風(fēng)險(xiǎn)的,不過從目前的使用來看,JAVA之間的遠(yuǎn)程過程調(diào)用一點(diǎn)問題都沒有,我們也對每個(gè)接口寫了網(wǎng)絡(luò)調(diào)用的測試,開發(fā)簡單,正確性高,性能優(yōu)良!
 Hessian的服務(wù)發(fā)布及使用倒是很簡單,不簡單的是這種系統(tǒng)架構(gòu)設(shè)計(jì)的思想?!吨貥?gòu)》是一本好書,值得我再讀很多遍。  現(xiàn)期的任務(wù)真是很多啊,責(zé)任又很重大。  后臺(tái)服務(wù)架構(gòu)設(shè)計(jì)完了,JAVA服務(wù)編碼、服務(wù)發(fā)布不要緊,要緊的是還要開發(fā)部分很久沒寫的C#前端,更要緊的是盡快開發(fā)完畢(我真是個(gè)厲害的角色),最要緊的是我來負(fù)責(zé)管理這個(gè)項(xiàng)目的開發(fā)進(jìn)度,并且鼓舞大家開發(fā)的士氣,有什么疑難雜癥要不斷的解決處理,還要帶倆實(shí)習(xí)生。  做了不止兩個(gè)PM的活,真是既當(dāng)?shù)之?dāng)媽又當(dāng)小孩,疼并快樂著,且碼且珍惜??!  加油,王安琪!  

來自王安琪http://www.cnblogs.com/wgp13x/

創(chuàng)新互聯(lián)是一家專業(yè)提供宿遷企業(yè)網(wǎng)站建設(shè),專注與做網(wǎng)站、網(wǎng)站制作、H5高端網(wǎng)站建設(shè)、小程序制作等業(yè)務(wù)。10年已為宿遷眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計(jì)公司優(yōu)惠進(jìn)行中。 作者:Angel 出處:http://www.cnblogs.com/wgp13x/ 歡迎轉(zhuǎn)載或分享,但請務(wù)必聲明文章出處。如果文章對您有幫助,希望你能推薦或關(guān)注。

王安琪,英文名Angel,南京郵電大學(xué)計(jì)算機(jī)應(yīng)用技術(shù)碩士學(xué)位。 熟悉Java、C#編程語言。專注于WebService、海量數(shù)據(jù)處理、搜索引擎技術(shù)、消息中間件技術(shù)、分布式文件存儲(chǔ)、.NET應(yīng)用程序開發(fā)、系統(tǒng)架構(gòu)設(shè)計(jì)。主要從事大數(shù)據(jù)管理系統(tǒng)的研發(fā),項(xiàng)目經(jīng)理,系統(tǒng)架構(gòu)師,就職于江蘇金陵科技集團(tuán)有限公司。

Email:aitanjupt@hotmail.com

QQ:289770363


當(dāng)前名稱:發(fā)布Hessian服務(wù)作為服務(wù)內(nèi)部基礎(chǔ)服務(wù)-創(chuàng)新互聯(lián)
本文鏈接:http://weahome.cn/article/dojcci.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部