ApplicationContext-擁有獨立上下檔案環境的元件容器管理類

bboss發表於2010-04-02

即將釋出的bbossgroups-1.0RC版本新增以下功能:

ApplicationContext-擁有獨立上下檔案環境的元件容器管理類,這裡先介紹一下。

bbossgroups-1.0及以前的版本全部只支援manager-provider.xml檔案為總根配置檔案的配置模型

bbossgroups- 1.0-rc及以後的版本支援多個配置檔案作為根配置檔案的配置模型,這種模型中每個根檔案表示獨立

的元件工廠上下文,彼此之間互不相關,這樣必將影響遠端服務呼叫時元件的定址演算法,原來只在一個元件上下文

中定址,現在有多個上下文,每個上下文中可能存在相同標識的元件,因此重新定義了服務元件的定址演算法,保證呼叫元件客服端的上下文和元件

伺服器端的上下文保持一致。

新增程式:

org.frameworkset.spi.ApplicationContext

ApplicationContext 類主要用來構建不同的元件容器的上下文環境,ApplicationContext包含一下以下靜態方法:

/**

  * 獲取預設上下文的bean元件管理容器,配置檔案從manager-provider.xml檔案開始

  * @return

  */

public static ApplicationContext getApplicationContext()

/**

  * 獲取指定根配置檔案上下文bean元件管理容器,配置檔案從引數configfile對應配置檔案開始

  * 不同的上下檔案環境容器互相隔離,元件間不存在依賴關係,屬性也不存在任何引用關係。

  * @return

  */

public static ApplicationContext getApplicationContext(String configfile)

上述兩個靜態方法用來建立元件容器例項,當建立好ApplicationContext例項後就可以在其上呼叫與BaseSPIManager元件

中提供的一系列靜態方法功能一致的實用方法。預設ApplicationContext元件容器相應方法和BaseSPIManager元件中

提供的方法功能一致。

使用例項:

本地服務呼叫

ApplicationContext context = ApplicationContext.getApplicationContext(“org/frameworkset/spi/beans/testapplicationcontext.xml”);

  RestfulServiceConvertor convertor = (RestfulServiceConvertor)context.getBeanObject(“rpc.restful.convertor”);

System.out.println(convertor.convert(“a”, “rpc.test”));

遠端服務呼叫

ApplicationContext context = ApplicationContext.getApplicationContext(“org/frameworkset/spi/beans/testapplicationcontext.xml”);

     RestfulServiceConvertor convertor = (RestfulServiceConvertor)context.getBeanObject(“(mina::192.168.11.102:1186)/rpc.restful.convertor”);

     System.out.println(convertor.convert(“a”, “rpc.test”));


相關文章