posts - 26,  comments - 7,  trackbacks - 0

          作者:楊洪波

          作者:楊洪波

          shark和jbpm配置文件處理方式比較

          1.都使用了單例模式
          我想這個是最基本的,一般的程序員寫解析程序都會這樣使用;要說明的是,AgileFlow
          除了使用單例模式,還實現了配置文件的動態裝載,如果用戶修改了配置文件,它能夠在
          運行中動態的獲取這些變化.
          使用jbpm時,第一句話就要使用該模式:JbpmServiceFactory.getInstance()....

          2.都實現了缺省配置和定制配置
          Shark中,缺省配置放在一個深層次的目錄中,定制配置放在config目錄,兩個配置
          文件的內容差不多;
          jbpm中,缺省配置放在代碼中實現,如下:
          propertyClassNames = new HashMap();
          propertyClassNames.put( "default", "org.jbpm.impl.DefaultServiceFactory" );
          abbreviatedClassNames.put( "jbpm.service.factory", propertyClassNames );
          定制配置放在config目錄中,為jbpm.properties
          比較而言,jbpm的實現方式要好,理由如下:
          1)缺省配置容易找到
          2)定制配置很簡單,默認是沒有配置的,比shark的要清爽很多

          3.都實現了用一個單例實現多個單例
          我在Shark學習系列的文章中討論過這個功能,jbpm是在JbpmConfiguration.java中實現的:
          private void instantiateConfiguredObjects() {
              // instantiate configured objects
              this.fileMgr = (FileMgr) instantiate( "jbpm.file.mgr", FileMgr.class );
              this.idGenerator = (IdGenerator) instantiate( "jbpm.id.generator", IdGenerator.class );
              this.serviceFactory = (ServiceFactory) instantiate( "jbpm.service.factory", ServiceFactory.class );
          }

          1.都使用了單例模式
          我想這個是最基本的,一般的程序員寫解析程序都會這樣使用;要說明的是,AgileFlow
          除了使用單例模式,還實現了配置文件的動態裝載,如果用戶修改了配置文件,它能夠在
          運行中動態的獲取這些變化.
          使用jbpm時,第一句話就要使用該模式:JbpmServiceFactory.getInstance()....

          2.都實現了缺省配置和定制配置
          Shark中,缺省配置放在一個深層次的目錄中,定制配置放在config目錄,兩個配置
          文件的內容差不多;
          jbpm中,缺省配置放在代碼中實現,如下:
          propertyClassNames = new HashMap();
          propertyClassNames.put( "default", "org.jbpm.impl.DefaultServiceFactory" );
          abbreviatedClassNames.put( "jbpm.service.factory", propertyClassNames );
          定制配置放在config目錄中,為jbpm.properties
          比較而言,jbpm的實現方式要好,理由如下:
          1)缺省配置容易找到
          2)定制配置很簡單,默認是沒有配置的,比shark的要清爽很多

          3.都實現了用一個單例實現多個單例
          我在Shark學習系列的文章中討論過這個功能,jbpm是在JbpmConfiguration.java中實現的:
          private void instantiateConfiguredObjects() {
              // instantiate configured objects
              this.fileMgr = (FileMgr) instantiate( "jbpm.file.mgr", FileMgr.class );
              this.idGenerator = (IdGenerator) instantiate( "jbpm.id.generator", IdGenerator.class );
              this.serviceFactory = (ServiceFactory) instantiate( "jbpm.service.factory", ServiceFactory.class );
          }

          posted on 2007-11-22 17:59 jbpm 閱讀(483) 評論(0)  編輯  收藏 所屬分類: jbpm其他

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 来凤县| 开江县| 溆浦县| 邻水| 成都市| 锡林浩特市| 翁牛特旗| 申扎县| 慈溪市| 商南县| 颍上县| 三穗县| 克拉玛依市| 恩平市| 泸水县| 葫芦岛市| 颍上县| 吉首市| 桓台县| 偃师市| 临海市| 永泰县| 鹿泉市| 碌曲县| 紫金县| 拜泉县| 葵青区| 湖北省| 永兴县| 新乐市| 荔波县| 库伦旗| 宁远县| 彰化市| 闽清县| 峨眉山市| 科技| 淮安市| 安徽省| 临澧县| 合江县|