
2007年11月22日
摘要:
閱讀全文
posted @
2007-12-12 16:16 jbpm 閱讀(1836) |
評論 (0) |
編輯 收藏
摘要:
閱讀全文
posted @
2007-12-12 16:13 jbpm 閱讀(1469) |
評論 (0) |
編輯 收藏
作者:楊洪波
jbpm解析流程定義有三種方式:
1)par包
static ProcessDefinition auctionProcess =
ProcessArchive.parse("org/jbpm/tdd/auction.par");
注意,必須在classes的org/jbpm/tdd/目錄下有一個auction.par文件
2)xml文件方式
static ProcessDefinition auctionProcess =
JpdlXmlReader.parseFromResource("org/jbpm/tdd/auction.xml");
注意,必須在classes的org/jbpm/tdd/目錄下有一個auction.xml文件
3)文本方式
static ProcessDefinition auctionProcess = JpdlXmlReader.parse(
"<process-definition>" +
" <start-state name='start'>" +
" <transition to='auction'/>" +
" </start-state>" +
" <state name='auction'>" +
" <transition to='end'/>" +
" </state>" +
" <end-state name='end'/>" +
"</process-definition>");
這種方式的本質和xml文件解析方式是一樣的.
posted @
2007-11-22 18:02 jbpm 閱讀(753) |
評論 (0) |
編輯 收藏
作者:楊洪波
作者:楊洪波
shark和jbpm配置文件處理方式比較
1.都使用了單例模式
我想這個是最基本的,一般的程序員寫解析程序都會這樣使用;要說明的是,AgileFlow
除了使用單例模式,還實現(xiàn)了配置文件的動態(tài)裝載,如果用戶修改了配置文件,它能夠在
運行中動態(tài)的獲取這些變化.
使用jbpm時,第一句話就要使用該模式:JbpmServiceFactory.getInstance()....
2.都實現(xiàn)了缺省配置和定制配置
Shark中,缺省配置放在一個深層次的目錄中,定制配置放在config目錄,兩個配置
文件的內容差不多;
jbpm中,缺省配置放在代碼中實現(xiàn),如下:
propertyClassNames = new HashMap();
propertyClassNames.put( "default", "org.jbpm.impl.DefaultServiceFactory" );
abbreviatedClassNames.put( "jbpm.service.factory", propertyClassNames );
定制配置放在config目錄中,為jbpm.properties
比較而言,jbpm的實現(xiàn)方式要好,理由如下:
1)缺省配置容易找到
2)定制配置很簡單,默認是沒有配置的,比shark的要清爽很多
3.都實現(xiàn)了用一個單例實現(xiàn)多個單例
我在Shark學習系列的文章中討論過這個功能,jbpm是在JbpmConfiguration.java中實現(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.都使用了單例模式
我想這個是最基本的,一般的程序員寫解析程序都會這樣使用;要說明的是,AgileFlow
除了使用單例模式,還實現(xiàn)了配置文件的動態(tài)裝載,如果用戶修改了配置文件,它能夠在
運行中動態(tài)的獲取這些變化.
使用jbpm時,第一句話就要使用該模式:JbpmServiceFactory.getInstance()....
2.都實現(xiàn)了缺省配置和定制配置
Shark中,缺省配置放在一個深層次的目錄中,定制配置放在config目錄,兩個配置
文件的內容差不多;
jbpm中,缺省配置放在代碼中實現(xiàn),如下:
propertyClassNames = new HashMap();
propertyClassNames.put( "default", "org.jbpm.impl.DefaultServiceFactory" );
abbreviatedClassNames.put( "jbpm.service.factory", propertyClassNames );
定制配置放在config目錄中,為jbpm.properties
比較而言,jbpm的實現(xiàn)方式要好,理由如下:
1)缺省配置容易找到
2)定制配置很簡單,默認是沒有配置的,比shark的要清爽很多
3.都實現(xiàn)了用一個單例實現(xiàn)多個單例
我在Shark學習系列的文章中討論過這個功能,jbpm是在JbpmConfiguration.java中實現(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 @
2007-11-22 17:59 jbpm 閱讀(479) |
評論 (0) |
編輯 收藏