成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Spring OSGi的整合

開發 后端
本文介紹Spring OSGi的整合的詳細步驟,包括設置Eclipse插件環境等。

OSGi的強大還在于它的聲明式服務(DS-DeclarativeServices),乍一看,和Spring的依賴注入(DI- DependencyInjection)很相像,于是不免會想到OSGi是否會對Spring產生巨大的沖擊呢?其實這種擔心完全沒有必要,相反二者的結合反而會讓OSGi如虎添翼,強者更強。

51CTO編輯推薦:OSGi入門與實踐全攻略

Spring組織早在2006年已經開始了OSGi的整合工作,由于OSGi獨特的類加載機制和一些其他的第三方類包不同,所以整合有一定難度進展比較緩慢。類加載問題也將是我們在使用OSGi開發時遇到的最多的問題。

第一步先搞定Spring的jar包。據說Spring2.1會支持OSGi,為省點力氣我采用的是Spring2.1m3版,里面的jar包已經開始支持OSGi,但類庫中沒有加入OSGi的整合類庫,比較郁悶。下載后的jar包需要修改一下里面的元數據文件MANIFEST.MF,找到Import-Package,將org.osgi.framework的版本修改為1.4.0,這個OSGi類庫在Eclipse3.3版本中提供有。然后在文件末尾添加DynamicImport-Package:*,免得調試的時候總找不到類定義。

這里我提一個建議:用Eclipse創建一個插件工程,將Spring的類庫導入,作為我們使用的Spring庫,而不是從官方網站下載的。這樣一者有助于我們理解OSGi的類加載機制,確定程序在運行時到底需要依賴那些類包,為什么依賴;二者有助于以后我們自己創建自己的插件。唯一的缺點就是需要不時的處理NoClassDefFoundError。

第二步搞定OSGi的整合類庫,先到http://www.springframework.org/osgi下載最新的Spring OSGi整合類庫,最新的版本是1.0M2。一共3個jar包:core、extender、io,然后分別打開jar包,修改 MANIFEST.MF文件。在文件中找到Import-Package,將引用的Spring版本修改為所使用的Spring版本,例如我使用的是 2.1。

第三步設置Eclipse插件環境,這一步比較麻煩。
首先添加和設置jar包。將Spring OSGi的3個jar包,放到Eclipse安裝目錄的plugins目錄下,為更好的識別和修改,建議采用Eclipse插件的link機制,單獨建一個目錄來放我們的測試jar 包。另外還需要支持Spring的jar包(下載Spring2.1時自帶的),包括:asm,backport-util- concurrent,cglib-nodep,commons-attributes,commons-collections,aspectj,由于我在做OSGi、Spring和Hibernate的整合,所以有些是支持Hibernate的。好了現在該啟動Eclipse,打開Windows->Preferences->Plug- inDevelopment->TargetPlatform,在右側會看到Eclipse加載的所有插件包,選中我們需要的(除了上面提到的之外):org.eclipse.osgi,org.eclipse.osgi.util,org.eclipse.equinox.log(如果沒有這個,需要到Eclipse官網下載Equinox的jar包)。

然后打開Run->OSGiFramework->Bundles,創建一個運行環境,把我們上一步添加的jar包選中,特別將 spring osgi-extender的插件的啟動級別改為2。現在來運行一下,在Console窗口的命令提示符(osgi>)下,輸入 ss,就可以看到各個Bundle的狀態;輸入log可以看到啟動的日志。隨意輸入其它非OSGi命令的字符都可以看到命令幫助文檔,這點可以測試一下。

如果所有的Bundles都啟動了,沒有報錯,那就表明我們的配置沒有什么大的問題。但不代表一切正常,因為Bundle啟動時不會對可選擇的類庫導入進行檢查,雖然啟動了但卻不能用,而且沒有任何重要信息提示,這是后來郁悶我很久的重要原因。這時我們就需要用到插件調試模式了(不是指Run-Debug 的調試),打開Run->OSGiFramework->Arguments,在Programarguments窗口的參數最后面加上"-debug"就可以打開調試模式。先別高興,這只是第一步。檢查Eclipse目錄下是否有一個“.options”文件,如果沒有,就到 plugins目錄下找org.eclipse.osgi_$version.jar,將這個jar包中的“.options”文件copy一份放到 Eclipse目錄下。打開這個文件就可以看到好多跟debug相關的配置,把org.eclipse.osgi/debug的配置改成true,就可以了。如果想看更多的debug信息,可以自己決定修改其余的配置。

然后再來運行一下,Console居然出來了無數行的插件調試信息,有點頭大,在參數中去掉“-debug”它們就銷聲匿跡了。

關于Eclipse的插件配置還有好多,只是由于手頭缺少資料,也沒有嘗試。

【編輯推薦】

  1. Spring AOP的一些概念
  2. acegi到Spring security的轉換方式
  3. Spring Framework的理解
  4. 解決Spring2.0向spring2.5遷移的問題
  5. Spring框架人氣暴漲
責任編輯:佚名 來源: 中國IT實驗室
相關推薦

2009-06-01 10:28:03

SpringOSGi整合

2009-10-09 13:42:56

Spring DataSpring DM

2009-09-28 13:13:16

設置Spring DM

2009-07-09 09:18:50

Spring Tool

2009-10-29 09:52:55

OSGi

2009-03-03 10:06:00

IBMJavaOSGi

2009-09-27 09:29:56

OSGi和SpringSpring動態模型Spring DM

2009-09-28 13:32:39

OSGi入門

2009-06-01 11:20:21

OSGi服務規范非贏利機構

2009-06-01 10:40:26

SpringOSGI中文手冊

2009-09-28 14:49:08

Spring DMOSGi服務

2010-04-07 08:55:00

OSGiSpring

2016-12-14 09:03:34

springhibernate異常

2021-11-10 11:37:48

Spring整合 Mybatis

2009-06-01 11:12:34

OSGi規范架構體系結構

2009-06-19 10:00:37

Struts和Spri

2009-06-18 15:14:53

Spring osgi

2012-06-25 11:47:14

ibmdw

2009-07-09 18:24:00

WebWork與Spr

2009-07-14 16:55:32

MyEclipse S
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 毛片com| 精品久久久网站 | 天天操 夜夜操 | 日日欧美 | 在线播放91 | 日韩欧美在线不卡 | 天天天天操 | 成人免费一区二区三区视频网站 | 亚洲精品在线观看视频 | 99国产精品久久久久久久 | 日本午夜精品一区二区三区 | 亚洲国产精品99久久久久久久久 | 天天看天天干 | 国产精品99久久久久久久久 | 亚洲午夜视频在线观看 | 丝袜美腿一区 | 国产免费一区二区 | 一区二区三区精品 | 久久久www成人免费精品张筱雨 | 日韩国产一区二区 | 一区二区在线免费观看 | 久久机热 | 一区二区影院 | 精品欧美一区二区三区 | 久久久青草婷婷精品综合日韩 | 男女网站在线观看 | 欧美日韩国产一区二区三区不卡 | 亚洲最色网站 | 欧美在线天堂 | 久久久一区二区三区四区 | 91精品国产综合久久久密闭 | 国产福利资源在线 | 成人在线视 | 91在线免费视频 | 黄色免费看 | 高清人人天天夜夜曰狠狠狠狠 | 精品国产一区二区三区性色 | 国产91久久精品一区二区 | 久久网站免费视频 | 国产高清视频在线播放 | 第四色播日韩第一页 |