隨筆-7  評論-3  文章-0  trackbacks-0
          轉載請注明出處 http://www.aygfsteel.com/fireflyk/archive/2011/09/18/358922.html

          網上找了很多例子,看了很多資料發現都不能完全重現一個OSGi的Web Demo
          本文結合了《OSGi原理與最佳實踐》+公司同事的《OSGi開發》+自己的理解。

          環境WindowXP + eclipse3.4 + Spring OSGi1.2.1
          1. 創建timeservice Bundle,提供輸出時間的功能
          1.1 eclipse內創建Maven Project,選quickstart project:timeservice,package org.osgichina.demo.timeservice
          1.2 創建好后,remove maven的jar包,刪掉project中的App和AppTest,在項目上右鍵->PDE Tools->Convert
          1.3
          package org.osgichina.demo.timeservice;

          public interface TimeService {
              String getCurrentTime();
          }

          public class TimeServiceImpl implements TimeService {

              
          public String getCurrentTime() {
                  
          return (new Date()).toString();
              }

          }

          1.4 Spring配置
          配置放在META-INF/spring目錄下,框架啟動時會按照這個路徑去尋找配置文件
          timeservice.xml
          <?xml version="1.0" encoding="UTF-8"?>
          <beans xmlns="http://www.springframework.org/schema/beans"
              xmlns:xsi
          ="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation
          ="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

              
          <!-- timeService bean -->
              
          <bean name="timeService" class="org.osgichina.demo.timeservice.impl.TimeServiceImpl" />

          </beans>

          timeservice-osgi.xml
          <?xml version="1.0" encoding="UTF-8"?>
          <beans xmlns="http://www.springframework.org/schema/beans"
              xmlns:xsi
          ="http://www.w3.org/2001/XMLSchema-instance" xmlns:osgi="http://www.springframework.org/schema/osgi"
              xsi:schemaLocation
          ="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
                                http://www.springframework.org/schema/osgi http://www.springframework.org/schema/osgi/spring-osgi.xsd"
          >

              
          <!-- 將timeService 這個bean發布為OSGi服務的定義-->
              
          <osgi:service id="osgiTimeService" ref="timeService" interface="org.osgichina.demo.timeservice.TimeService">
              
          </osgi:service>

          </beans>

          這個Bundle到此已經完成了,下一節會講解helloworldweb Bundle,涉及Import Package,OSGi的啟動,Spring+Web的配置等

          專注于Java,數據庫性能,Web Server負載,數據挖掘,機器學習等方向
          posted on 2011-09-18 21:13 柳桐 閱讀(2353) 評論(1)  編輯  收藏 所屬分類: Java

          評論:
          # re: [OSGi] OSGi + Spring + Web Demo [1] 2011-09-19 08:53 | tb
          先收藏了   回復  更多評論
            
          主站蜘蛛池模板: 佛教| 汾西县| 龙游县| 广丰县| 烟台市| 大宁县| 鄯善县| 平阴县| 榕江县| 延吉市| 台东县| 黄浦区| 元氏县| 固安县| 遂平县| 浪卡子县| 和静县| 宁波市| 洪江市| 富蕴县| 中宁县| 巴南区| 遵义县| 远安县| 湘潭县| 阳曲县| 眉山市| 交城县| 芮城县| 珠海市| 霍邱县| 宝鸡市| 东丰县| 和平县| 托克逊县| 凤城市| 佛山市| 昭通市| 双柏县| 米脂县| 嘉黎县|