<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    程序人生

    在Java中摸爬滾打的日子

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      6 Posts :: 1 Stories :: 19 Comments :: 0 Trackbacks

    2010年6月26日 #

         摘要: 提供支撐的Bundles --- 瀟湘振宇 2010-06-26   上一篇中,我們已經為這基于OSGi的Web應用搭建了項目框架,但其中涉及到有幾個支撐OSGi環境下的SSH框架的Bundles的改造或提供未曾給大家詳細介紹。本篇內容就是為詳細介紹這幾個Bundles的作用及創建的過程。 CGLIB的改造 Cglib的改造曾在系列一中有提到,為了解決...  閱讀全文
    posted @ 2010-06-26 16:24 瀟湘振宇 閱讀(3815) | 評論 (5)編輯 收藏

    2010年6月20日 #

         摘要: 通過新建一個基于Maven的OSGi的Web應用框架,來介紹OSGi的Web應用框架的搭建過程。基于這項目框架,你可以添加自己的業務模塊進來,很容易就能使之應用于實際項目中……  閱讀全文
    posted @ 2010-06-20 22:09 瀟湘振宇 閱讀(10701) | 評論 (2)編輯 收藏

    2010年6月15日 #

        這一篇,我將向大家介紹幾個常用的工具,因為本人在OSGi的項目開發中,得益于這幾個工具,因此有必要向大家逐一介紹。這幾個工具分別是:Maven、Pax-construct、Pax-runner。當然我們開發必定少不了IDE工具,我所使用的IDE工具是Eclipse,對于IDE的使用我就不多說了。
        開發基于OSGi的Web應用,我有兩種比較開發方式,一種是借助Maven跟相關的一些Maven插件,比如上面說到的Pax-construct、Pax-runner、還有Maven的bnd插件。另一種開發方式則是以Plug-in的方式開發。兩種方式各有其優劣。在本系列文章中,我會分別介紹這兩種開發方式。

    Maven簡介:   

        Maven是一個很不錯的項目管理工具,其插件之多,也就說明了其功能之廣。但本文不會詳細的來介紹Maven的各種插件,這里只會簡略的說一下Maven在開發基于OSGi的Web應用中所帶來的便利之處及存在的弊端。
        Maven的好處:
        1、方便管理項目的組織結構
        2、方便管理項目對第三方包的依賴關系
        3、方便項目的構建
        4、方便項目在持續集成中的應用
        Maven的弊端:
        1、在項目中,經常會出現IDE被阻塞的情況,尤其在Maven子工程比較多的情況下。
        2、當項目是快照版時,如果沒有設置好快照版更新策略的話,將會浪費掉你很多寶貴的開發時間。
        Maven的使用很簡單,但要用好也還是需要花不少時間來了解其各種相關的插件的功能。這里簡單的講一下maven的使用,如果你用過,可以跳過這部分內容。
        Maven的安裝很簡單,從Apache官方網站(http://maven.apache.org)下載安裝包,解壓到自己指定的目錄下,配置一個M2_HOME的系統環境變量就可以使用了。你可以在命令行下,輸入mvn關鍵字就可以看出Maven已經可以正常工作了,前提條件是存在有Java的運行時環境。
        第一次運行mvn后,Maven會在當前用戶的根目錄生成一個.m2的文件夾,里面有一個repository的文件夾,這是Maven的本地倉庫目錄,你可以通過修改settings.xml文件來更改此repository的位置,這個settings.xml文件可以在Maven的解壓目錄下的conf目錄中找到,最好是將settings.xml文件拷貝到用戶目錄下的.m2文件夾中,因為運行maven的命令時,其最先會去.m2的文件夾中查找有沒有settings.xml文件,這是屬于用戶級的配置,而在%M2_HOME%/conf/settings.xml則是屬于全局性的配置,在Eclpse的Maven插件也需要有.m2下的settings.xml文件。關于安裝Eclipse的Maven插件可以參考http://m2eclipse.sonatyper.org。有關Maven更詳細的資料大家可以到網上搜一下,會有大把的資料供學習。

    Pax-construct簡介:

       Pax-construct是一個生成OSGi的Maven項目的腳本工具,其安裝使用也很簡單。官方網址是:http://wiki.ops4j.org/display/paxconstruct/Pax+Construct,下載最新版本1.4解壓到本地目錄后,將其bin目錄添加到環境變量PATH中,就可以使用了。其Quickstart主頁地址是:http://www.ops4j.org/projects/pax/construct/index.html,有關詳細使用,大家可以參考官方資料,你也可以按照本系列教程中的步驟來作學習使用。

    Pax-runner簡介:
       
    Pax-runner是用來運行此OSGi的Maven項目的一個腳本工具,這里我們主要用到其基于Maven的插件。其官方網址是:http://paxrunner.ops4j.org/space/Pax+Runner。其安裝跟Pax-construct一樣,使用則更為簡單。這里就不詳細細說了。

    bnd簡介:
        bnd是一個將普通jar包轉換成符合OSGi的bundle的工具,其官方網址是:http://www.aqute.biz/Code/Bnd,這工具在這里大家不需要太多的關注,因為使用Pax-construct構建項目時,就已經把其集成進來了,大家需要關注的是項目根目錄下的osgi.bnd配置文件。這個配置文件是項目用Maven打包時給bnd的一個附加的配置文件。具體如何使用請關注后文。
       
    總結:
        以上介紹的Pax的兩個工具construct跟runner均是使用于在本文說的第一種開發方式,這種開發方式的好處在于開發人員不需要過多的關注OSGi Bundle的東西,精力主要放在業務代碼的開發上,但需要開發人員注意一些相關的事項。而第二種開發方式則是基于Eclipse的Plug-in的方式,這就需要大家對OSGi的概念比較清楚,而這種開發方式在工具上的使用有了Eclipse就行,當然如果有Maven來管理項目那也是好事。但整體上講對開發人員的要求會高一些。

    posted @ 2010-06-15 12:06 瀟湘振宇 閱讀(3602) | 評論 (0)編輯 收藏

    概述:   
        接觸OSGi已經有兩三年了,而真正運用OSGi于項目之中,也將近兩年。這兩年來,因為OSGi的不太成熟也讓我飽受歷練。
        如果你對OSGi這個名詞有點陌生,那本系列教程就不太適合你了,如果你想學習本系列教程,請你先去了解OSGi的相關概念。
        拽寫本系列教程的目的在于給想要在企業應用中使用OSGi技術的同學朋友們以實際經驗指導,希望能給你帶來收獲。
    名詞解釋:
        OSGi:OSGi是Open Service Gateway Initiative的簡稱,可以稱是一種技術,也可以稱是一個平臺,亦可稱之為一種規范。
        Bundle:OSGi中最重要的元素之一,也是OSGi中最小的物理元素。它是一個jar包,但它持有一份能夠進行自我描述的元數據文件(MANIFEST.MF),雖然普通的jar包中也存在有MANIFEST.MF文件,但非Bundle的jar的MANIFEST.MF文件中缺少進行自我描述的元數據信息。
        Equinox:OSGi的一個參考實現,也是Eclipse3.2+的核心。
        SSH腳手架:SSH腳手架是指由Struts+Spring+Hibernate組合在一起的開發框架。
        Spring-DM:Spring-DM是SpringDynamicModules的簡稱,是由SpringSource提供的,致力于整合Spring框架和OSGi平臺的一個框架。
        Plug-in:這里的Plug-in指基于OSGi技術的插件工程。
        Maven:用來管理項目依賴及構建的一個腳本工具。
        EBR:這里的EBR是SpringSource提供的Enterprise Bundle Repository的簡稱
    入門要求:
        學習本系列教程的同學需要了解SSH腳手架,熟悉Eclipse IDE開發,對Maven有一定的了解。
    前期準備
        JDK1.6+
        Eclipse3.4+
        Spring2.5.6+
        Spring-DM1.1.2+
        Maven2.0.9+
        EBR訪問地址:http://www.springsource.com/repository/app
    需要解決的問題
        要使SSH腳手架能夠正常運行于OSGi環境,那我們首先要解決的問題有三。其一是cglib的類加載器的改造,其二是解決數據庫驅動包跟數據庫連接池缺少依賴的問題,其三就是整理運行于OSGi環境下的SSH腳手架需要依賴的Bundle對象。
        也許有人會說,要讓Java應用程序運行OSGi那有什么困難的呢?當然,解決問題的手段多種多樣,但要創建一個標準的OSGi基于OSGi的應用程序,還確實不是那么的簡單。
        解決了以上所說的三個問題,基于SSH開發OSGi應用就不成問題。但該如何解決以上三個問題呢,以及解決了以上三個問題后如何來規范這種基于OSGi環境下的SSH開發呢,又該如何保證開發效率能夠保持在或更優于以往開發非OSGi應用時等一系列問題呢。要想了解如何解決,敬請關注本系列文章。


    posted @ 2010-06-15 00:17 瀟湘振宇 閱讀(5307) | 評論 (9)編輯 收藏

    2010年6月13日 #

       用Xmarks書簽工具已經有好幾年了,以前叫做Foxmarks,不記得是在零八年還是零九年改名的。反正我覺得這個插件是在Firefox的所有插件中最為有用的插件之一,也是FF中最好用的書簽插件。如果沒有了這么方便的書簽工具,實在感覺是太不爽了。
       自從國內開始整頓互聯網開始,不知道Xmarks的哪跟筋得罪了國內某機關單位,結果被墻了。之前發現Xmarks無法同步書簽時,在網上搜索到使Xmarks重新復活的方法是在操作系統的etc目錄下的hosts文件中添加域名解析記錄。如下:
    64.147.188.86 www.xmarks.com
    64.147.188.92 api.xmarks.com
    64.147.188.89 login.xmarks.com
    173.239.65.22 login.xmarks.com
    64.147.188.87 sync.xmarks.com
    64.147.188.86 static.xmarks.com
    64.147.188.86 download.xmarks.com
    64.147.188.86 my.xmarks.com
    添加了這個還是不夠的,你還需要在插件里面選擇加密所有內容才行。
       但好景不長,到今年五月下旬,Xmarks又停止了正常動作,這真是認人郁悶至極呀。當時在網上搜了一下,但沒有找到有用的信息。因此折中的用了GMarks作為替代產品使感受了幾天,結果發現GMarks的使用實現是太難用了,沒有Xmarks一半的好用。于是決定再次尋找Xmarks復活的良藥,在Google中不斷的搜索,縮小搜索的時間范圍,終于還是找到了有用信息。
    原來Xmarks有幾個服務器更新了IP地址,可能是因為那幾個更新IP地址的服務器以前的IP地址被“人”做了手腳吧!更新后的配置如下:
    64.147.188.86 www.xmarks.com
    #64.147.188.92 api.xmarks.com
    173.239.65.21 api.xmarks.com
    #64.147.188.89 login.xmarks.com
    173.239.65.22 login.xmarks.com
    #64.147.188.87 sync.xmarks.com
    173.239.65.23 sync.xmarks.com
    64.147.188.86 static.xmarks.com
    64.147.188.86 download.xmarks.com
    64.147.188.86 my.xmarks.com
    保存hosts文件后,點擊xmarks的同步,果然,再一次出現了久違的“Syncing Successfully”!
    還不知道什么時候Xmarks又會出現那個令人郁悶的紅色醒目的小問號!!!
    posted @ 2010-06-13 00:00 瀟湘振宇 閱讀(725) | 評論 (1)編輯 收藏

    2010年5月23日 #

         摘要: 條碼解析在現在市場上有很多的產品,且在各類商場也隨處可見其應用的蹤影,如超市的收銀處。條碼槍跟條碼數據采集器也是比較常見的。不過這些硬件都需要專門的采購,像一般的人開發人員或普通用戶而言,很少接觸這些硬件,對其工作原理也是不得而知。這里提供一個以大家常用的視頻頭捕捉條碼的示例程序,供大家學習參考。  閱讀全文
    posted @ 2010-05-23 23:26 瀟湘振宇 閱讀(3632) | 評論 (0)編輯 收藏

    2010年5月7日 #

         摘要:     開通博客也有好些天了,一直沒有時間靜下心來寫博文,今天我就把兩年前整理的一篇關于JAVA RMI入門級文章貼出來,供有這方面需要的同學們參考學習。 RMI 相關知識 RMI全稱是Remote Method Invocation-遠程方法調用,Java RMI在JDK1.1中實現的,其威力就體現在它強大的開發分...  閱讀全文
    posted @ 2010-05-07 00:32 瀟湘振宇 閱讀(42484) | 評論 (2)編輯 收藏

    主站蜘蛛池模板: 日韩精品无码专区免费播放| www一区二区www免费| 91九色老熟女免费资源站| 久久精品国产99精品国产亚洲性色| WWW免费视频在线观看播放| 亚洲人xxx日本人18| 亚洲免费网站观看视频| 亚洲精品97久久中文字幕无码| MM1313亚洲精品无码久久| 四虎永久免费影院| 一级做a毛片免费视频| 狠狠亚洲婷婷综合色香五月排名| 国产黄片不卡免费| 国产亚洲视频在线播放| 永久在线观看免费视频 | 亚洲av永久无码精品国产精品 | 亚洲欧洲精品成人久久曰| 日韩免费无码一区二区视频| 美国毛片亚洲社区在线观看| 大胆亚洲人体视频| 少妇中文字幕乱码亚洲影视| 国产精品免费观看| 亚洲大尺度无码无码专区| 亚洲黄色免费观看| 亚洲AV成人一区二区三区观看 | 亚洲视频在线精品| 久久久久成人片免费观看蜜芽 | 免费毛片a线观看| 亚洲国产美女视频| 好爽好紧好大的免费视频国产| 日韩一级片免费观看| 成年人免费观看视频网站| 国产成人亚洲综合a∨| 亚洲欧洲日产国码av系列天堂| 3d动漫精品啪啪一区二区免费| 亚洲高清中文字幕免费| 亚洲综合图色40p| 男人的好免费观看在线视频| 一级毛片免费一级直接观看| 亚洲视频在线不卡| 亚洲AV蜜桃永久无码精品|