日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
部署并運(yùn)行你的OSGi Web應(yīng)用程序

【精選譯文】本文是《你好,OSGi》系列的***一篇,講述在Eclipse外部如何執(zhí)行OSGi容器。在Eclipse IDE內(nèi)部執(zhí)行Equinox OSGi容器對于開發(fā)非常便利。不過,當(dāng)你的應(yīng)用程序準(zhǔn)備好部署,如果你想要在Eclipse外部執(zhí)行你的OSGi容器,可以按照下面的步驟從命令行運(yùn)行你的Equinox OSGi容器。

創(chuàng)新互聯(lián)建站專注于懷安網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供懷安營銷型網(wǎng)站建設(shè),懷安網(wǎng)站制作、懷安網(wǎng)頁設(shè)計(jì)、懷安網(wǎng)站官網(wǎng)定制、微信小程序服務(wù),打造懷安網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供懷安網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

編輯推薦:OSGi入門與實(shí)踐全攻略

從Equinox下載完整的eclipse-equinox-.zip 二進(jìn)制文件框架。本文中的示例代碼在版本3.3下進(jìn)行測試。

解壓縮下載的文件,保存到你的計(jì)算機(jī)上。本示例將使用目錄 C:\software。

在你的計(jì)算機(jī)上建立一個(gè)目錄,命名為 C:\equinox (或?qū)τ谀愕牟僮飨到y(tǒng)等同的目錄)。

從 C:\software 將下面的JAR文件復(fù)制到 C:\equinox:

 
 
 
 
  1. org.eclipse.osgi_.jar  
  2. javax.servlet v2_4.jar  
  3. org.apache.commons.logging v1_0_4.jar  
  4. org.eclipse.equinox.http.jetty.jar  
  5. org.eclipse.equinox.http.registry.jar  
  6. org.eclipse.equinox.http.servlet.jar  
  7. org.mortbay.jetty v5_1_11.jar  
  8. org.eclipse.equinox.common_.jar  
  9. org.eclipse.equinox.registry_.jar  
  10. org.eclipse.osgi.services_.jar 

現(xiàn)在,打開命令控制臺,將目錄更改到 C:\equinox,然后執(zhí)行下面的目錄:

 
 
 
 
  1. java -jar org.eclipse.osgi_.jar -console 

Equinox OSGi容器將啟動(dòng),并且你將會(huì)看到OSGi>提示符。

安裝、驗(yàn)證和執(zhí)行插件

需要指出的是,雖然你已經(jīng)將所有的插件 JAR 文件復(fù)制到了 C:\equinox 目錄,但所有這些插件還沒有安裝到OSGi容器。你必須一個(gè)一個(gè)地進(jìn)行安置??梢酝ㄟ^下面的命令語句在OSGi容器中安裝插件:

 
 
 
 
  1. install file: 

例如,如果你想要安裝javax_servlet v2_4 插件,那么你應(yīng)該執(zhí)行下面的這行命令:

 
 
 
 
  1. install file:javax.servlet_2.4.jar 

現(xiàn)在,使用install 命令安裝所有必須的插件。

在你的全部插件都安裝完畢后,你可以通過執(zhí)行ss命令來它們進(jìn)行驗(yàn)證。OSGi容器將顯示一個(gè)包含三個(gè)列的表格列出所有的已安裝插件:***列顯示插件的ID,第二列顯示插件的狀態(tài),第三列顯示套件的名稱。

請注意,所有套件都處于INSTALLED狀態(tài),除了INSTALLED套件,它處于ACTIVE狀態(tài)。因此,你下一步需要做的是啟動(dòng)所有插件??梢酝ㄟ^下面的命令啟動(dòng)插件:

 
 
 
 
  1. start  

在本例中,javax.servlet v2_4套件的ID是1,所以你可以這樣來啟動(dòng)它:

 
 
 
 
  1. start 1 

所有插件都啟動(dòng)之后,你可以通過調(diào)用ss命令來對他們進(jìn)行驗(yàn)證。在你的OSGi控制臺上顯示的內(nèi)容應(yīng)類似于圖 2 所示。

 
圖 2. Jetty 控制臺

***,你可以通過在瀏覽器中輸入 http://localhost/helloworld.html 來測試你的OSGi Web應(yīng)用程序是否正確配置。你應(yīng)該可以看到消息“Hello from helloworld.html”。

將OSGi容器嵌入到servlet容器

在這個(gè)小節(jié),我們將來看看OSGi Web應(yīng)用程序的另一種部署方式,它將Equinox OSGi容器嵌入到一個(gè)Web應(yīng)用程序中,然后在servlet容器(如Apache Tomcat)中部署該Web應(yīng)用程序。Equinox框架提供bridge.war,一個(gè)模板,具有Equinox OSGi容器的Web應(yīng)用程序?qū)⑦@個(gè)模板嵌入到容器中。

bridge.war應(yīng)用程序包含org.eclipse.equinox.servletbridge.BridgeServlet。這個(gè)servlet負(fù)責(zé)對你的OSGi容器進(jìn)行初始化。每當(dāng)接收到一個(gè)客戶請求,它將查看是否存在一個(gè)OSGi插件可以處理該請求;如果存在,它將控制轉(zhuǎn)發(fā)至該插件。下面的步驟向你演示了如何使用bridge.war中的com.javaworld.sample.osgi.web.programmatic和com.javaworld.sample.osgi.web.declarative插件。

如果你還沒有安裝Apache Tomcat,請下載Apache Tomcat 5.5并將其解壓到操作系統(tǒng)文件夾 C:\software(或相應(yīng)的同等文件夾)。

下載bridge.war,然后將其安裝到你的Apache Tomcat服務(wù)器。一旦安裝完成,啟動(dòng)bridge.war Web應(yīng)用程序。

通過在瀏覽器中訪問http://localhost:8080/bridge/sp_test來測試Bridge Web應(yīng)用程序。你應(yīng)看到一條消息:“Servlet delegate registered - org.eclipse.equinox.http.servlet.HttpServiceServlet”。

現(xiàn)在,返回到你的Eclipse IDE。在包資源瀏覽器試圖中,右鍵單擊并選擇 Export > Deployable plug-ins and fragments,然后單擊下一步按鈕。在Deployable Plug-ins and fragments對話框中,輸入如圖 3所示的值。

 
圖 3. 導(dǎo)出插件

單擊“完成”,Eclipse 將com.javaworld.sample.osgi.web.declarative.jar 和 com.javaworld.sample.osgi.web.programmatic.jar導(dǎo)出到 C:\software\apache-tomcat-5.5.25\webapps\bridge\WEB-INF\eclipse\plugins 文件夾(或你所用操作系統(tǒng)的同等文件夾)。請注意,Bridge Web應(yīng)用程序?qū)?C:\software\apache-tomcat-5.5.25\webapps\bridge\WEB-INF\ 文件夾中的內(nèi)容復(fù)制到Tomcat 工作目錄并從那里執(zhí)行。當(dāng)你網(wǎng)址:http://localhost:8080/bridge/sp_deploy 時(shí),Bridge Web 應(yīng)用程序?qū)⑦@些新的 JAR 文件復(fù)制到 C:\software\apache-tomcat-5.5.25\work\Catalina\localhost\bridge\eclipse \plugins。

現(xiàn)在,重啟你的Tomcat服務(wù)器。一旦Tomcat重啟完成,你將可以看到Tomcat控制臺中的 osgi> 提示符。

輸入ss來顯示所有已安裝到bridge.war中的OSGi套件。確認(rèn)com.javaworld.sample.osgi.web.declarative和com.javaworld.sample.osgi.web.programmatic已安裝到 OSGi容器;如果沒有安裝,可通過執(zhí)行 install file:  命令進(jìn)行安裝。

在 OSGi命令提示符下,執(zhí)行 start 命令,啟動(dòng) com.javaworld.sample.osgi.web.declarative.jar 和 com.javaworld.sample.osgi.web.programmatic.jar 插件。

現(xiàn)在,你應(yīng)該能夠在瀏覽器中輸入 http://localhost:8080/bridge/helloworld.html 來訪問 helloworld.html 了。

探索該應(yīng)用程序

這個(gè)Bridge應(yīng)用程序提供了以下URL,利用它們,你可以從網(wǎng)絡(luò)瀏覽器來控制你的OSGi容器。(對于該示例,這些地址應(yīng)加在 http://localhost:8080/bridge/ 后面;該URL可能會(huì)有所變化,要看你的Tomcat安裝情況。)

 
 
 
 
  1. sp_deploy:復(fù)制平臺內(nèi)容到工作或臨時(shí)目錄  
  2. sp_undeploy:工作目錄刪除 Eclipse 的副本  
  3. sp_redeploy:對平臺進(jìn)行重置(比如:終止、取消部署、部署以及啟動(dòng))  
  4. sp_start:啟動(dòng)一個(gè)已部署平臺  
  5. sp_stop:終止平臺  
  6. sp_test:提供一個(gè)正常的檢測,并且當(dāng)基于 OSGi 的servlet 已準(zhǔn)備好接收請求時(shí)終止 

繼續(xù)研究探索這個(gè)應(yīng)用程序吧,別忘了給自己一個(gè)鼓勵(lì):你已經(jīng)開發(fā)出了你的***個(gè)OSGi Web應(yīng)用程序!

總結(jié)

雖然OSGi的來源在于提供嵌入式和客戶端解決方案,但很多人認(rèn)為,它的強(qiáng)項(xiàng)將在于服務(wù)器端的開發(fā)。服務(wù)器端Equinox是一個(gè)開始,利用它,可以更加簡便地將OSGi的可插入、基于組件的開發(fā)模式應(yīng)用到Web應(yīng)用程序。(另一個(gè)是SpringSource應(yīng)用程序平臺, 但不在本文講解的范圍之內(nèi)。)通過這篇文章中的示例,你已經(jīng)向OSGi Web應(yīng)用程序開發(fā)邁出了***步。你已經(jīng)在Eclipse中設(shè)置了OSGi Web應(yīng)用程序開發(fā)環(huán)境;學(xué)習(xí)了注冊O(shè)SGi套件的兩種方式:程序方式和聲明方式;以及,詳細(xì)了解了如何使用這兩種不同的方式對基于OSGi的Web應(yīng)用程序進(jìn)行部署:將Jetty servlet容器插件嵌入到 Equinox,并將Equinox嵌入到Tomcat。

在這個(gè)系列文章中,你學(xué)習(xí)如何開始創(chuàng)建基于OSGi的應(yīng)用程序,學(xué)習(xí)了OSGi開發(fā)模式以及創(chuàng)建了一個(gè)簡單的包含兩個(gè)套件的客戶-服務(wù)器(client-server)應(yīng)用程序。你還學(xué)習(xí)了Spring動(dòng)態(tài)模型如何簡化了OSGi容器中Spring應(yīng)用程序的開發(fā),以及服務(wù)器端Equinox如何提供了一個(gè)可訪問的框架以在服務(wù)器環(huán)境中開發(fā)和部署OSGi應(yīng)用程序。

所有這些實(shí)踐練習(xí)為你打開了OSGi開發(fā)之門,希望這個(gè)系列的文章能夠幫助你更好地理解OSGi和Java的模塊化,以及將它應(yīng)用到你的未來Java開發(fā)項(xiàng)目中。

【編輯推薦】

  1. 你好,OSGi!OSGi入門必讀系列
  2. 打造一個(gè)Hello World OSGiWeb應(yīng)用程序
  3. 初探OSGiWeb應(yīng)用開發(fā)利器Equinox:環(huán)境設(shè)置
  4. OSGi和Spring入門:什么是Spring動(dòng)態(tài)模型(Spring DM)?
  5. OSGi是什么:Java語言的動(dòng)態(tài)模塊系統(tǒng)

分享名稱:部署并運(yùn)行你的OSGi Web應(yīng)用程序
標(biāo)題路徑:http://m.5511xx.com/article/cdsiedo.html