Eva's Blog

本站首页    管理页面    写新日志    退出

[OFBIZ][转] workflow1
Eva 发表于 2006/3/9 21:25:12

 ofbiz 中使用xpdl定义工作流,所以要看定义语言,另外,ofbiz中的order模块是通过工作流实现的,此流程,首先在网上下订单,然后内部进行处理。 order例子的运行过程processorder--]checkblacklist --]processpayment --]success --] clearchart --] initiateOrderWorkflow --]start the workflow 1.首先根据订单提交时的用processorder,根据ecommerce下的controller.xml发现[request-map uri="processorder"][security https="true"/][event type="java" path="org.ofbiz.commonapp.order.shoppingcart.CheckOutEvents" invoke="createOrder"/][response name="success" type="request" value="checkBlacklist"/][response name="error" type="view" value="checkout"/][/request-map]在调用createOrder成功后,根据success的条件,调用checkBlacklist,同样在根据ecommerce下的controller.xml发现 [request-map uri="checkBlacklist"][security direct-request="false"/][event type="java" path="org.ofbiz.commonapp.order.shoppingcart.CheckOutEvents" invoke="checkOrderBlacklist"/][response name="success" type="request" value="processpayment"/][response name="failed" type="request" value="failedBlacklist"/][response name="error" type="view" value="checkout"/][/request-map] 在checkOrderBlacklist成功后,根据success,转向processpayment[request-map uri="processpayment"][security https="true" direct-request="false"/][event type="java" path="org.ofbiz.commonapp.order.shoppingcart.CheckOutEvents" invoke="processPayment"/][response name="success" type="request" value="clearcartfororder"/][response name="fail" type="view" value="checkoutoptions"/][response name="error" type="view" value="checkout"/][/request-map] processPayment成功后,转向clearcartfororder[request-map uri="clearcartfororder"][security direct-request="false"/][event type="java" path="org.ofbiz.commonapp.order.shoppingcart.ShoppingCartEvents" invoke="clearCart"/][response name="success" type="request" value="initiateOrderWorkflow"/][response name="error" type="view" value="checkout"/][/request-map] 成功后,调用initiateOrderWorkflow,[request-map uri="initiateOrderWorkflow"][security https="true" direct-request="false"/][event type="java" path="org.ofbiz.commonapp.order.shoppingcart.CheckOutEvents" invoke="initiateOrderWorkflow"/][response name="success" type="request" value="checkExternalPayment"/][response name="error" type="view" value="checkout"/][/request-map] 在initiateOrderWorkflow中, dispatcher.runAsync("processOrder", UtilMisc.toMap("orderId", orderId, "orderStatusId", orderHeader.getString("statusId")));启动工作流,对应services_order.xml中的[service name="processOrder" engine="workflow" location="org.ofbiz.commonapp.order.order" invoke="ProcessOrder"][description]Service for testing the workflow engine[/description][attribute name="orderId" type="String" mode="IN" optional="false"/] [attribute name="orderStatusId" type="String" mode="INOUT" optional="false"/][/service]此service的engine为workflow表示是一个工作流的服务, service的定义ProcessOrder中的location表示xpdl定义中的package,[Package Id="org.ofbiz.commonapp.order.order"]invoke对应与在orderProcessXPDL.xml中,[WorkflowProcess Id="ProcessOrder" Name="Processes incoming orders"]

阅读全文(5182) | 回复(-1) | 编辑 | 精华

 



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)

 
 



.: personal

    


Name:Eva

Position: ZJ.NingBo


.: Calendar

«September 2023»
12
3456789
10111213141516
17181920212223
24252627282930

.: My Subjects

首页(11)
DBA(0)
What(2)
Java(0)
J2EE(1)
XML(2)
JS(1)
Tools(0)
OFBIZ(3)
APS(1)
Solaris(0)
Template(0)


.: NewBlogs

Java 下的 team 开发
DTD step 1
[c]在Solaris下安装CVS服务器
XML初初感觉
is blog?
is API?
[转] workflow2
[转] workflow1
ofbiz学习站点
我用过的JAVASCRIPT


.: NewComment
回复:is blog?
回复:[转] workflow2
回复:如何修改weblogic cons
The 3G S iPhone
回复:如何修改weblogic cons
回复:如何修改weblogic cons
回复:如何修改weblogic cons
回复:ofbiz学习站点
回复:ofbiz学习站点
回复:如何修改weblogic cons


.:New Info

blog名称:Eva's Blog
日志总数:11
评论数量:105
留言数量:-1
访问次数:259540
建立时间:2005年11月30日



.: New Messages

签写新留言


.: My Links



HHH
11




站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.031 second(s), page refreshed 144754055 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号