NetBPM工作流Q&A(不断更新)

Made by LuBen:2007年8月12日


目录

写在前面

如何打包par包

流程定义是不是不支持中文?

流程图片大小是不是不能超过8k?

动态委托类不能用么?

关于流程图形化设计的支持

action的参数不能超过3个

关于processinstance的endtime为空值

关于子流程向父流程传送属性

不断更新中...


前言

在NetBPM的实践与应用中,大家一定会遇到各种各样的问题,笔者特建此帖, 聚集了一些典型问题,并作了初步解答。本帖将不断更新,大家有什么问题,可以在目录中寻找,若没有类似问题答案,欢迎留言讨论,对某些问题有好的解决方法等也可以留言,我将更新到目录中;-) 原文地址:http://www.cnblogs.com/LuBen/archive/2007/08/12/852382.html,转载就保留。

如何打包par包

流程定义组件接口能够识别的包是zip压缩包,rar压缩包不能识别。 .par只是让流程定义压缩包区分其他压缩包的后缀,其实是不是.par不重要,重要的是zip压缩格式,并且包内文件结构符合nPdl要求。 所以要打包.par包,用普通压缩软件winrar进行zip压缩即可;-)

流程定义不支持中文?

作为中国用户,在流程定义文件中使用中文是难以避免的,比如把流程的 名称取为"请假流程"而不是"holiday"。大家一定想到了XML编码,没错,把processdefinition.xml和webinterface.xml保存 为unicode编码就可以了(注:光在文件中这样写<?xml version="1.0" encoding="unicode" ?>是不行的,因为XML文件本身的编码格式也需要为unicode;-))。我们可以使用记事本打开XML文件,然后把编码如图所示改为unicode,然后保存即可:

流程图片大小不能超过8k?

如果您使用的SQL Server2000数据库(其他数据库没有验证;-)),那么就会遇到一个问题: 流程图片大小不能超过8000字节,在web显示上也只能显示8000字节的图片;-) 为什么呢?实际上,如果图片超过8000字节,在流程定义包解析保存时, 数据库中也只保存了8000字节,多余的字节被忽略掉了,这是由于Nhibernate配置文件映射引起的。 解决的办法如下:修改Nhibernate映射文件ProcessBlockImpl.hbm.xml文件:

1        <property 2name="Image" 3            type="binary" 4            update="true" 5            insert="true" 6            column="image" 7/>

为:

1        <property 2name="Image" 3            type="BinaryBlob" 4            update="true" 5            insert="true" 6            column="image" 7/>
动态委托类不能用么?

动态委托类不能用,也是如上小节中流程图片大小一样原因 引起的,在库中只加载了8000字节的程序集,导致动态加载委托类不可用。解决办法如下:修改NHibernate映射文件AssemblyFileImpl.hbm.xml:

1        <property 2name="Bytes" 3            type="binary" 4            update="true" 5            insert="true" 6            column="bytes" 7/>

为:

1        <property 2name="Bytes" 3            type="BinaryBlob" 4            update="true" 5            insert="true" 6            column="bytes" 7/>

关于流程图形化设计的支持

NetBPM支持图形化设计,源码在CVS GPD模块中。流程设计器由JAVA写成,若您对JAVA比较熟悉,可以对它进行扩充;-) 
       注意:GPD源码,NetBPM作者不进行维护支持工作。

action的参数不能超过3个

经过测试,流程定义时,action参数定义数目不能超过3个,如果超过3个,则在加载流程压缩包时将出错。如:

去掉注释,则action参数达到4个,此时加载报错。 此BUG还没有修复,暂时的解决方法为:用类似${start date}的语法定义要用到的属性,然后定义解析该语法的工具类,以替代达到目的。
        修改by LuBen 20070821: 
        并不是action的参数个数问题;-) 加载出现如下错误

  • NetBpm.Util.DB.DbException : NHibernate.ADOException while performing database operation 'iterate(select max( pd.Version ) from pd in class NetBpm.Workflow.Definition.Impl.ProcessDefinitionImpl where pd.Name = ? ,请假流程Holiday,type)' : could not insert: [NetBpm.Workflow.Delegation.Impl.DelegationImpl#246]
  • couldn't continue to parse the process archive

    是因为加载的值比数据库字段设计的值要小, 在NBPM_DELEGATION表中cofiguration字段设计为255, 而加上第四个参数后, 加载的值已经超过了255,而在源码中并没有捕获ArgumentOutOfRangeException,  所以会报这个看似不相干的错误. 其他类似超过数据库字段设计都会报这个错误, 知道原因了, 修改即可.

    关于processinstance的endtime为空值

    流程结束时源码中存在一个小BUG,流程结束后processinstance的endtime一直为空值,不会在流程结束时赋值。 解决方法为,在NetBpm.Workflow.Execution.Impl命名空间下,修改ExecutionEngineImpl类中ProcessEndState方法部分如下:

    .........
    1            FlowImpl rootFlow = (FlowImpl) executionContext.GetFlow();
    2            rootFlow.ActorId = null;
    3            rootFlow.End = DateTime.Now;
                     // 添加红色该句
    4            ((ProcessInstanceImpl)executionContext.GetProcessInstance()).End = DateTime.Now; 5            rootFlow.Node = endState; // setting the node is not necessary if this method is called
    6            // from processTransition, but it is necessary if this method is
    7            // called from cancelProcessInstance in the component-impl.
    ..............

    关于子流程向父流程传送属性

    在IProcessInvocationHandler接口定义了CollectResults(IProcessInvocationContext processInvocationContext)方法, 此方法用来在子流程结束时,收集子流程要向父流程传递的属性值,但是引擎对收集后的属性保存实现不完全,需要作出修改。

    更新.....

分类: WorkFlow & NetBpm
绿色通道: 好文要顶 关注我 收藏该文与我联系 

LuBen
关注 - 0
粉丝 - 2

+加关注

0
0
(请您对文章做出评价)

« 上一篇:NetBPM工作流的一个示例-请假审批

posted on 2007-08-12 11:48 LuBen 阅读(8335) 评论(30) 编辑 收藏

评论

#1楼 2007-08-12 14:23Ψιζσεα.

#2楼 2007-08-12 15:01stillwater

#3楼 2007-08-13 08:29bluebirdzx[未注册用户]

#4楼[楼主2007-08-13 08:54LuBen

#5楼[楼主2007-08-13 08:56LuBen

#6楼[楼主2007-08-13 08:57LuBen

#7楼[楼主2007-08-13 09:24LuBen

支持(0)反对(0)

#8楼 2007-08-13 12:24Ψιζσεα.

支持(0)反对(0)

#9楼[楼主2007-08-21 09:20LuBen

#10楼 2007-08-31 09:58飞翔[未注册用户]

#11楼[楼主2007-09-06 08:50LuBen

#12楼 2007-09-19 13:38飞 翔[未注册用户]

#13楼[楼主2007-09-19 15:04LuBen

#14楼 2007-09-19 17:09飞 翔[未注册用户]

#15楼[楼主2007-10-22 16:32LuBen

#16楼 2008-01-11 17:33呆 呆[未注册用户]

#17楼[楼主2008-01-11 17:46LuBen

#18楼 2008-02-26 14:04micree[未注册用户]

#19楼 2008-03-24 14:38yunsi[未注册用户]

#20楼 2008-03-29 21:28caidehui123[未注册用户]

#21楼 2008-04-09 00:03蓝奇高级验证码识别引擎QQ:631753663[未注册用户]

#22楼 2008-08-04 15:50Bob&xiaobo.liu

#23楼 2008-09-03 15:47zdq[未注册用户]

#24楼 2008-10-31 14:52舰长[未注册用户]

#25楼 2008-11-12 11:08123456abcd[未注册用户]

#26楼 2008-11-27 10:08游客[未注册用户]

#27楼 2009-03-30 14:51netbpm 新手[未注册用户]

#28楼 2009-07-28 16:01Qingor[未注册用户]

#29楼 2011-05-12 14:41我每天都在进步o(∩_∩)o...

#30楼 2013-07-25 16:34吴东雷

刷新评论刷新页面返回顶部
frameborder="0" src="http://tpc.googlesyndication.com/safeframe/1-0-2/html/container.html#xpc=sf-gdn-exp-1&p=http%3A//www.cnblogs.com" id="google_ads_iframe_/1090369/cnblogs_blogpost_C1_sitehome_0" name="1-0-2;16367; scrolling="no" frameborder=0 height=0 width=0 src="http://cm.g.doubleclick.net/push?client=ca-pub-8579300389988819" style="position:absolute">

{"uid":1,"hostPeerName":"http://www.cnblogs.com","initialGeometry":"{\"windowCoords_t\":0,\"windowCoords_r\":1423,\"windowCoords_b\":7825,\"windowCoords_l\":0,\"frameCoords_t\":7108.46875,\"frameCoords_r\":511,\"frameCoords_b\":7358.46875,\"frameCoords_l\":211,\"styleZIndex\":\"auto\",\"allowedExpansion_t\":0,\"allowedExpansion_r\":0,\"allowedExpansion_b\":0,\"allowedExpansion_l\":0,\"xInView\":0,\"yInView\":0}","permissions":"{\"expandByOverlay\":true,\"expandByPush\":false,\"readCookie\":false,\"writeCookie\":false}","metadata":"{\"shared\":{\"sf_ver\":\"1-0-2\",\"ck_on\":1,\"flash_ver\":\"15.0.0\"}}","reportCreativeGeometry":false}" scrolling="no" marginwidth="0" marginheight="0" width="300" height="250" data-is-safeframe="true" style="border-width: 0px; vertical-align: bottom;">

最新IT新闻:
· 把无人机塑造成一个杀人机器!导演,你这样黑大疆真的没问题?
· 创业16年:马化腾为何总能抓住大风口?
· 芝麻分可办签证!新加坡卢森堡率先开通
· 哈佛大学获史上最大捐赠 校友保尔森豪掷4亿美元
· Wifi万能钥匙密码查询接口被破 可无限查询用户AP明文密码
» 更多新闻...
最新知识库文章:

· 那些令人喷饭的代码注释:仅以此代码献给...
· 给代码多留一些空间
· 领域驱动设计系列(2)浅析VO、DTO、DO、PO的概念、区别和用处
· 新手学习编程的最佳方式是什么?
· 领域驱动设计系列(1)通过现实例子显示领域驱动设计的威力

» 更多知识库文章...

NetBPM工作流QA相关推荐

  1. NetBPM工作流的一个示例-请假审批

       NetBPM工作流的一个示例:请假审批 Made by LuBen:2007年8月12日 目录 请假流程描述 流程定义之processdefinition.xml 流程定义之webinterfa ...

  2. NetBpm 组织架构(4)

    大牛的杰作,赞一个 转自:NetBPM工作流的架构设计及实现浅析 读前的话:由于本文涉及内容颇多,若有地方读来不很明白,建议先跳过,整体上有个认识后,再回过头来理解.作者认识有限,若有错误,欢迎斧正: ...

  3. 一步一步学习开发BPM工作流系统--------(一)为什么要开发工作流系统

    写下这个这题目我知道意味着一项艰巨冗长的任务开始了,做工作流方面的研发已经7年了,总算能拿出一些东西来,虽然走过很多弯路,但最终都变成收获.今天把一些心得和成果共享出来,和大家一起交流.探讨,也希望能 ...

  4. QA seven's blog

    从QA的角度来谈谈代码质量的改进 Oct 31, 2016| 343 Hits 大部分人看到这个题目时,直接的反应是QA关心代码质量干嘛,能看懂代码吗?怎么给dev feedback? qa 如果还有 ...

  5. gitlab 删除分支_初识gitlab工作流

    git对我来说挺难理解的,平时遇到问题也是绕着走,倒也没啥大问题,但基于git软件的工作流却很重要,尤其对于一个组织来说. git工作流.github工作流.gitlab工作流都属于特性分支(feat ...

  6. qa/qc_专业QA如何实施可靠的CI / CD管道?

    qa/qc 过时的传统软件开发方法并不能接管不断升级的市场趋势,并且这些方法缺乏解决方案,无法解决引入" 持续集成(CI)和持续交付(CD) "的快速软件发布需求的增长. 除了CI ...

  7. oracle工作流错误,工作流错误处理 - Oracle® ZFS Storage Appliance 客户服务手册

    工作流错误处理 如果在执行工作流期间发生错误,则会引发异常.如果异常未由工作流自身所捕获(或者如果工作流引发的异常未以其他方式捕获),则工作流将失败,并向用户显示有关异常的信息.要正确处理错误,应该捕 ...

  8. trac 经验谈之(3)工作流篇

    Trac 经验谈之(1)杂谈篇 Trac 经验谈之(2)杂谈篇补遗 Trac 经验谈之(3)工作流篇 Trac 经验谈之(4)报表篇 Trac 经验谈之(5)插件篇 Trac 经验谈之(6 完)插件篇 ...

  9. 爱奇艺QA测试环境管理平台初探

    背 景 测试环境是项目测试的关键环节,其部署效率.稳定性.连通性直接影响项目的迭代效率.在测试环节中测试环境一直是行业中的较为薄弱一环,面临很多的问题,比如: 搭建成本高:复杂业务的梳理成本高:搭建测 ...

最新文章

  1. Python Day23 stark组件1
  2. linux 服务启动依赖,linux下的系统服务介绍——init、systemd
  3. 缺少nst linux.mbr文件,用EasyBCD2.0在Windows环境下引导Linux启动
  4. linux_软件安装策略和升级策略
  5. Java程序员从笨鸟到菜鸟之(五)java开发常用类(包装,数字处理集合等)(下)
  6. Kali Linux ver2020.4安装Google中文输入法以及nslookup、dig等工具
  7. coding ssh端口指定_443 端口的 SSH 服务
  8. 【转】Windows系统中ckplayer视频边下边放,视频转码mp4及last atom in file was not a moov atom问题...
  9. 图像处理:灰度(级)和分辨率
  10. B站一键BV号转AV号PHP单页源码
  11. 浅谈LINQ to SQL集成数据库语言优劣
  12. 终于明白我做小生意为啥赔钱了,主要原因还是进货渠道不行
  13. lt;转载自刘佳ID:freedom0203和waretgt; C++中成员初始化列表的使用
  14. 华为HG255D超级管理员密码
  15. visio箭头尾部遮盖方框边线
  16. 计算机组装所需硬件,电脑组装机配置清单
  17. python学习No5
  18. win2008 r2 hyper-v虚拟机的安装使用图文教程
  19. 【gcc】centos安装gcc
  20. 航空航天空气动力学高性能计算解决方案

热门文章

  1. js刷新页面,刷新当前页
  2. 基于SSM+MySQL+JSP+BootStrap的停车场管理系统
  3. 转载-详解功率MOS管参数
  4. 试试程序员专用字体CascadiaCode支持连字体
  5. 教学电子白板软件有哪些?分享一个实用工具
  6. python语言实验指导答案_python实验指导答案
  7. 某项目608版本投产前验收问题报告与后续研发流程改进方案
  8. 利用Rational Rose进行C++代码和数据库逆向工程 结构分析
  9. 手机备忘录每个月的10号定时提醒怎么设置
  10. ofo及创始人戴威被列入“老赖”名单 不能买房买车旅游