posts - 26,  comments - 7,  trackbacks - 0

          作者:楊洪波

          作者:楊洪波

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

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

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

          3.都實(shí)現(xiàn)了用一個(gè)單例實(shí)現(xiàn)多個(gè)單例
          我在Shark學(xué)習(xí)系列的文章中討論過這個(gè)功能,jbpm是在JbpmConfiguration.java中實(shí)現(xiàn)的:
          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.都使用了單例模式
          我想這個(gè)是最基本的,一般的程序員寫解析程序都會(huì)這樣使用;要說明的是,AgileFlow
          除了使用單例模式,還實(shí)現(xiàn)了配置文件的動(dòng)態(tài)裝載,如果用戶修改了配置文件,它能夠在
          運(yùn)行中動(dòng)態(tài)的獲取這些變化.
          使用jbpm時(shí),第一句話就要使用該模式:JbpmServiceFactory.getInstance()....

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

          3.都實(shí)現(xiàn)了用一個(gè)單例實(shí)現(xiàn)多個(gè)單例
          我在Shark學(xué)習(xí)系列的文章中討論過這個(gè)功能,jbpm是在JbpmConfiguration.java中實(shí)現(xiàn)的:
          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) 評(píng)論(0)  編輯  收藏 所屬分類: jbpm其他

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 南岸区| 东丰县| 清河县| 垫江县| 信丰县| 高平市| 新干县| 宕昌县| 巴林左旗| 类乌齐县| 长子县| 鸡东县| 黄冈市| 南城县| 阜宁县| 台东县| 淳化县| 峡江县| 晋城| 大邑县| 南漳县| 汽车| 宜宾市| 鄂托克旗| 中江县| 任丘市| 蒲江县| 沁源县| 辉县市| 环江| 常州市| 延津县| 砚山县| 宁河县| 砀山县| 辰溪县| 疏勒县| 山东| 澎湖县| 宁强县| 洱源县|