JBoss Seam从头学到脚之18-dvdstore例证中的jbpm的理解
JBoss Seam从头学到脚之18---dvdstore例子中的jbpm的理解
记录一下学习情况,有不对的地方请大家多多指正,thanks!
- hibernate.cfg.xml文件中的"org/jbpm/graph/action/Script.hbm.xml"
该文件存在于jbpm-jpdl.jar包中,该包位于jboss路径的common\lib下面。
- jbpm所用到的数据库,是通过hibernate.cfg.xml文件的设置而自动生成的,
该文件是设置的启动文件。
- 学习的时候,为了看数据库的变动情况
先把hbm2ddl.auto的属性改成create,
即<property name="hbm2ddl.auto">create</property>
启动一次后,再改成update,这样就不会每次启动数据库后的内容都被清空,便于学习。
- 通过"@Begin"启动一个page flow,
EditCustomerAction.java中的@Begin(nested=true, pageflow="newuser") public void startEdit() { }
另:CheckoutAction.java的写法也是一样的。
- 通过"@CreateProcess"启动page flow
见CheckoutAction.java的submitOrder的标记部分
@CreateProcess(definition="OrderManagement", processKey="#{completedOrder.orderId}")
这样执行完这个方法后,就启动了一个订单管理的业务流。
- page flow动态设置的方法
在本例中,如果使用manager/password登陆后,
就可以作为管理员,有权利设置订单管理的流程,
本例提供了3种page flow供设置,具体实现方法详见:
incl/processmenu.xhtml和
ProcessDefinitionSwitcher.java文件。 -
任务分配给actor的方法
比如:ordermanagement3.jpdl.xml文件中<task name="approve" description="Review order"> <assignment pooled-actors="reviewers"/> </task>
意思是,
把"review order"任务分配给“reviewers”这个group,
reviewers这个group是在用户登录后分配的,具体代码在AuthenticatorAction.java的
actor.getGroupActorIds().add("reviewers");
- 设置一个默认的page flow的地方及方法
在核心文件components.xml中<bpm:jbpm> <bpm:process-definitions> <value>ordermanagement1.jpdl.xml</value> </bpm:process-definitions> </bpm:jbpm>
END