- 浏览: 40297 次
- 性别:
- 来自: 广州
最新评论
-
yixihttppc:
我使用的是weblogic10,aix环境
Weblogic 8 14中远程数据源的BUG -
yixihttppc:
没太明白你的意思,我现在也有一个程序,这个程序是普通的java ...
Weblogic 8 14中远程数据源的BUG
在客户需求变化时,可能会碰到流程引擎中单工作项的数据拆分成多工作项,下面提供一种实现方式来达到多工作项的拆分.对于新流程是不需要拆分,只是对于流程实例中已运行到相应环节才需要处理。以下提到方法,不是通过EOS流程引擎修改,而是通过直接更新数据库实现。
单工作项的拆分成多工作为如下几步:
1.列出需要拆分工作项的流程实例,并更新流程图,发布时,不要生成新的版本。
2.工作项的循环拆分,并将以前的工作项表中记录的删除或者将工作项记录状态修改为12
3.删除工作项对应的参与者,并按多工作项要求增加参与者记录。
如下提供了一种拆分的实例:是通过ORACLE的存储过程实现。
create or replace procedure UPDATE_WORKITEM_INFO is
begin
declare
k number default - 5000000;---工作项ID
i number default - 1000000;---参与者ID
--每一次使用都需要调整这个值 这个值用来做参与者表主键
begin
--迭代所有需要修改的工作项
FOR each in (select *
from wfworkitem wf
where (wf.currentstate = 4)
and wf.activitydefid = "Provider"
and wf.processdefid = 15) LOOP
--删除与者表中参与者信息
update wfwiparticipant wfw
set wfw.wiparticid = 0 - wfw.wiparticid,
wfw.workitemid = 0 - wfw.workitemid
where wfw.workitemid = each.workitemid;
--根据工作项的流程实例找到相应的参与者
for tt in (select distinct busman
from t_mm_material tmm
where tmm.materialid in
(select t.materialid
from t_mm_orderinfodetail t
where t.orderid in
(select tm.orderid
from t_mm_orderinfo tm
where tm.processinstid = each.processinstid))) loop
i := i + 1;
k := k + 1;
--更新参与者表信息
insert into wfwiparticipant
(wiparticid,
workitemid,
participanttype,
participant,
participant2,
workitemstate,
partiintype,
extend1)
values
(i,
k,
"person",
tt.busman,
tt.busman,
"10",---工作项状态
"EXE",
"P{" || tt.busman || "}");----相应的参与才类型,根据实现业务的不同,会有区别
--更新工作项信息
insert into wfworkitem
(workitemid,
workitemname,
workitemtype,
workitemdesc,
currentstate,
participant,
priority,
istimeout,
limitnum,
limitnumdesc,
createtime,
starttime,
endtime,
finaltime,
actionurl,
processinstid,
activityinstid,
stateslist,
timeoutnum,
timeoutnumdesc,
extend1,
extend2,
processinstname,
activityinstname,
processdefid,
processdefname,
processchname,
activitydefid,
assistant,
bizstate,
allowagent
)
(select k as workitemid,
workitemname,
workitemtype,
workitemdesc,
"10" as currentstate,---多工作项的状态为10
tt.busman as participant,
priority,
istimeout,
limitnum,
limitnumdesc,
createtime,
starttime,
endtime,
finaltime,
actionurl,
each.processinstid as processinstid,
each.activityinstid as activityinstid,
stateslist,
timeoutnum,
timeoutnumdesc,
extend1,
"NPNYYNYNN" as extend2,-----多工作项与单工作项区别
processinstname,
activityinstname,
processdefid,
processdefname,
processchname,
activitydefid,
assistant,
bizstate,
allowagent
from wfworkitem wftp
where wftp.workitemid = each.workitemid);
end loop;
--更新工作项表信息
update wfworkitem wfwor
set wfwor.workitemid = 0 - each.workitemid,
wfwor.processinstid = 0 - each.processinstid ,
wfwor.currentstate= 12
where wfwor.workitemid = each.workitemid ;
END LOOP;
commit;
end;
end;
发表评论
-
EOS6 经验总结
2009-12-29 23:53 1156一、关于数据实体: 1、数据实体的数据类型有很大 ... -
EOS6 集群的原理介绍和配置
2009-05-15 20:11 1738集群中的节点的数据同 ... -
EOS6 集群功能介绍
2009-05-15 20:10 1600集群(Cluster),简单地说,就是用多个服务器或应用节点来 ... -
EOS6 多数据源配置
2009-05-15 20:05 3526EOS6中允许用户配置多个数据源,每个数据源都有引用名称,系统 ... -
EOS6 远程Java客户端调用服务的依赖jar列表
2009-05-15 20:02 2756当使用一个独立的Java客户端调用EOS提供的服务时,根据不同 ... -
EOS服务器和EOS应用
2009-05-15 19:54 4345EOS服务器(EOS Server)是支撑SOA应用和服务的运 ... -
EOS6 基本概念
2009-05-15 19:52 1304EOS Primeton EOSTM是SOA应用 ... -
EOS6 的产品介绍
2009-05-15 19:51 1103EOS基于J2EE、Eclipse等开放的技术和平台 ... -
EOS5 默认日志文件详解及生产问题定位规则
2009-04-22 00:38 1186在EOS5中,日志文件中记 ... -
EOS流程设计与开发总结
2009-04-15 00:01 1160在流程项目开发时,对于流程不复杂,可以按照一定的模式来快速开发 ... -
Web Services中客户端的实现
2009-04-14 23:56 908Axis 客户端的实现一 ... -
Axis服务端实现
2009-04-14 23:52 1314Axis服务端 服务端的实现比较简单,写任意一个类,并将他 ... -
EOS中使用Axis需要注意的一些细节
2009-04-14 23:48 909EOS中有Axis和 ... -
解决EOS因为程序引起系统宕机或者运行缓慢的快速定位方法
2009-04-14 23:45 1243应用中查询结果非常大时,会占用比较多的内存,造成系统内存不足, ... -
eos5.2 减少日志的处理方式
2009-04-14 23:44 882用NOHUP启动EOS时,查询NOHUP日志时,每调用一次WE ... -
使用EOS的价值.
2008-10-24 17:58 1078在这里看到很多关于EOS的评价.可能这里面很多的都是技 ...
相关推荐
事件服务类有两个实现类:单线程的实现类(SingleThreadEventService)和多线程的实现类(MulThreadEventService)。 事件处理机制:事件处理机制是 EOS工作流引擎的关键部分。事件处理类共有五个,分别是...
EOS工作流引擎设计的核心目标是实现业务流程的自动化,它通过定义和执行工作流实例来协调各个任务参与者的行为。当一个新的工作流实例被触发时,EOS引擎会根据预定义的工作流模型进行解析,这个模型通常包含了流程的...
- **数据访问服务**:负责与数据库的交互,实现工作流数据的存储和检索。 - **工作流定义**:用户可以使用图形化界面定义工作流模型,EOS工作流引擎支持多种流程模式,如顺序、并行、归并、多重选择、多重归并、多...
- **规则引擎**:利用EOS内置的规则引擎,实现复杂的业务逻辑。 - **异常处理**:设计合理的异常处理机制,确保流程在出现意外情况时能够正常运行。 - **数据验证**:通过数据验证确保输入数据的正确性和有效性。 #...
在EOS系统中,可以通过两种方式实现数据库连接:单连接EOS Server和通过应用服务器的数据源(DATASOURCE)方式。 单连接EOS Server的方式是通过在`eosconfig.xml`配置文件中设置`DBConnect/single`的值为`true`,...
文档内容分为多个章节,首先介绍了工作流的基本概念,包括EOS工作流的概述及其实现原理和机制。接着,读者将逐步学习如何通过EOS工作流进行实际操作,如创建组织机构、准备数据、构建项目、创建构件包、设计流程等。...
EOS工作流通过提供图形化的流程设计工具,使得非程序员也能创建和修改复杂的业务流程。在"EOS工作流Demo"中,我们可以看到实际应用的示例代码,这对于初学者来说是一个很好的学习资源。 **EOS工作流的核心组件** 1...
接着,设计了一个简单的流程模型,直接映射现实业务,同时考虑到EOS WF的XML结构和可扩展性,用于描述请假单的业务实体。请假单包含了请假人、请假类型、原因、开始和结束时间以及审批状态等关键信息。 在入门阶段...
- **流程设计工具**:EOS提供了强大的可视化流程设计工具,使得用户能够轻松地创建和修改复杂的工作流模型。 - **流程引擎**:EOS工作流引擎支持多种执行策略,可以根据不同的业务需求进行配置,确保流程高效、准确...
通过这个详尽的EOS6工作流教程,无论是初学者还是经验丰富的用户,都将能够熟练掌握EOS6系统的使用,实现企业工作流程的智能化和高效化。无论是日常任务管理,还是复杂的企业级流程控制,EOS6都能提供强大的支持。
6. **集成与扩展**:EOS具备良好的集成能力,能够轻松与其他企业级应用或系统进行对接,如ERP、CRM、OA等,实现了数据和流程的无缝连接。此外,EOS还提供了插件机制,允许开发者根据自身需求开发定制化的插件,...
普元Primeton6.5EOS流程开发教程
6. **集成能力**:EOS工作流支持与其他系统(如ERP、CRM等)集成,实现数据共享和流程联动,提高整体业务流程的自动化程度。 ### 三、EOS工作流的优势 1. **灵活性**:EOS工作流支持动态调整流程,适应业务变化。 ...
EOS(Enterprise Operation System)是一个强大的业务流程管理系统,主要用于企业级工作流自动化和业务流程优化。在 EOS 6.0 版本中,它提供了一系列改进和增强的功能,以提升用户体验和流程效率。这个经典流程例子...