摘要: 跟JBPM学设计模式之原型模式模式简介 原型模式,用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式其实就是从一个对象创建另外一个可以定制的对象,而且客户是不需要知道任何创建的细节的。原型模式给每一个产品类配备一个克隆方法(大多的时候只需要给产品等级结构的顶级类配备一个克隆方法即可),这样,一个使用了原型模式的系统与他的产品对象时怎么创建出来的,以及这些产品对象的结构式怎样的,以及这个结构是否会发生变化就没有关系了。原型模式的结构图如下 图 1. 原型设计模式结构图 原型模式中涉及到了三种角色,分别是客户角色、抽象原型角色、具体原型角色。 客户角色:客户提出创建对象的需求 阅读全文
posted @ 2012-06-09 13:25 无风听海 阅读(1077) 评论(0) 推荐(0) 编辑
摘要: 跟JBPM学设计模式之建造者模式 模式简介 建造者模式,将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 一个产品常常会有不同的组成成分作为零部件,这些零件可能是对象,也可能不是对象,他们通常由叫做产品的内部表象。不同的产品可以有不同的内部表象,也就是不同的零部件。使用建造者模式可以使客户端不需要知道所生成的产品对象有哪些零部件,每个产品的相应零部件有什么不同,是怎么建造出来的,以及是怎样组成产品的。建造者模式的简图如下 图 1. 建造者模式结构图 在这个示意图中,最终产品是由两部分组成的,所以相应的建造方法也有两个。这个模式涉及到一下四个角色。 抽象... 阅读全文
posted @ 2012-06-05 01:57 无风听海 阅读(1216) 评论(2) 推荐(0) 编辑
摘要: 并发编程下的性能定律(翻译) 理解Amdahl定律 如果你想利用多核的优势在尽可能少的时间运行尽可能多的指令,那么就需要以并行的序列分离代码。然而,大多的算法需要运行一些串行代码来调整并行执行。例如,并行执行很多代码块,最后收集他们执行的结果。那些分解并行执行工作复杂和收集执行结果的代码是串行代码,它是不能利用并行的优势的。如果你的算法中有很多这样的代码片段,那么串行代码所占的比例就会增加,并且能够获取到的性能收益就会减少。 Gene Amdahl是一个著名计算机架构师,当一个系统中仅有少量的计算机改善硬件的时候,那么能够获得最大的性能改善是多少呢?他做了大量与这方面有关的观察研究... 阅读全文
posted @ 2012-06-04 04:45 无风听海 阅读(2490) 评论(9) 推荐(1) 编辑
摘要: 基于任务模型的并发编程(二)并发编程和多核编程 传统的顺序代码一个指令一个指令的执行,并不能充分的利用多核的优势,因为这些串行执行的指令仅仅能够运行在这些内核中的某一个。使用visualC#2010编写的顺序代码,如果没有使用.NET4.0提供的新特性将任务分派到多个核心上,那也是不能充分的利用多核心的优势的。对于已存的顺序代码并不存在一种自动的并发。 并发编程是一种代码充分的利用底层硬件提供的并行执行能力的编程模式。并发编程模式同时运行很多的指令。就像前面所解释的,现在又很多不同种类的并行执行架构,并且对他们就这一话题的细节进行深入分析需要一整本书来展现。 多核编程是一种代码充分的利用多个正 阅读全文
posted @ 2012-05-31 06:48 无风听海 阅读(1921) 评论(1) 推荐(3) 编辑
摘要: 基于任务模型的软件开发 多核心共享内存下的软件开发 在2005年,Herb Sutter在Dr.Dobb’s Journal上发表了题为“免费午餐结束:软件开发将转向并发编程”的文章。其中他谈到现在又必要在软件开发中考虑并发了,从而充分的挖掘呈指数量级增加的微处理器的潜能获取生产力的提高。现在微处理器厂商一直都在增加处理器的核心,而不是增加时钟频率。软件开发者将不能够依赖增加处理器时钟频率免费获取性能的提升。 现在几乎所有的机器的处理都至少有两个核心。然而,四核和八核的微处理器在服务器、高级工作站上很流行,甚至是高端的便携电脑。拥有更多内核的单个处理器就将要到来。现代化的微处理器提供了新的.. 阅读全文
posted @ 2012-05-30 00:02 无风听海 阅读(1483) 评论(0) 推荐(1) 编辑
摘要: 跟JBPM学设计模式之抽象工厂模式 模式简介 前面我们已经学习了简单工厂模式和工厂方法模式,今天我们来学习一下抽象工厂模式;抽象工厂模式提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。抽象工厂模式是所有的工厂模式中最为抽象和最具一般性的一种形态。抽象工厂模式的基本结构图如下所示。 图 1. 抽象工厂结构图 左边的等级结构代表工厂的等级结构,右边的等级结构代表两个不同产品的等级结构。此模式可以向客户端提供一个借口,使得客户端不用指定产品的具体类型的情况下,同时创建出多个产品对象。一般情况下我们使用工厂获取的对象是由不同产品的实体产品组成的混合体,这一点使用工厂... 阅读全文
posted @ 2012-05-27 23:37 无风听海 阅读(1275) 评论(0) 推荐(2) 编辑
摘要: 跟JBPM学设计模式之工厂方法模式 模式简介 工厂方法模式,定义一个用于创建对象的接口,让子类决定实例化那个类,其使一个类的实例化延迟到其子类中。 前边我们学习了简单工厂模式,简单工厂模式的最大优势在于工厂类中包含了必要逻辑判断,根据客户端的条件动态实例化相关的类,对于客户端不需要了解具体的产品类,所以解除了对具体产品类的依赖。在引入新的产品的时候,我们不需要修改客户端代码,但是必须修改工厂,所以违背了开闭原则。 工厂方法模式是简单工厂模式的进一步抽象和推广。由于工厂类使用多态性,使其即保持了简单工厂模式的优点,也克服了其缺点。在工厂方法模式中,核心的工厂类不再负责所有产品的创建,而... 阅读全文
posted @ 2012-05-24 06:41 无风听海 阅读(1476) 评论(1) 推荐(1) 编辑
摘要: 跟JBPM学习设计模式之简单工厂模式模式简介 简单工厂模式是类的创建模式,其专门负责将大量拥有共同接口或者基类的产品类进行实例化。简单工厂模式由工厂类运行时根据传入的参数动态的决定需要实例化的类,这样客户只需要了解产品的基类,解除客户对具体产品类的依赖。简单工厂模式的结构如下图所示图 1. 简单工厂模式结构图 从图中可以看出,简单工厂模式主要涉及一下三种结构角色1. 工厂类,其有客户端直接调用,并根据具体的业务逻辑要求创建相应的产品对象实例;2. 产品基类,所有具体的产品类的基类或者接口,封装所有具体产品共享的行为(和数据), 客户需要了解产品基类;3. 具体的产品类,本模式需要创建的实例的. 阅读全文
posted @ 2012-05-17 02:16 无风听海 阅读(1231) 评论(0) 推荐(0) 编辑
摘要: 魔鬼的梦魇—验证IE中的js内存泄露模式(续) 前面几篇文章我们验证学习了Justin Rogers文章中提出的集中泄露模式,但是其中并没有介绍Iframe的内存泄露情况;其中的各种原因,我觉的虽然当时ajax的兴起,极大地促进了web应用程序的开发和发展,但是并没有涉及到大规模的动态更新页面DOM元素,所以这个时候的泄露都不至于会引起大家的关注;但是随着大量js类库框架的出现,特别是extjs的出现,功能丰富界面漂亮美观,同时提供了大量丰富的前端控件,顿时使人眼前一亮,很多人都会不由的感到震撼,原来bs也可以做出这么优美酷炫的界面;特别是最近移动互联网的风行,很多复杂的应用都转移到了前段,这 阅读全文
posted @ 2012-05-16 00:08 无风听海 阅读(3463) 评论(0) 推荐(1) 编辑
摘要: 魔鬼的梦魇—验证IE中的js内存泄露模式(三) 按照Justin Rogers文章的顺序,接下来的这个模式应该是跨页内存泄露模式(cross-page leak),但是由于这个模式产生的中间对象,我们并不能访问到,所以我也想不到好的有可视效果的验证方式,所以就不介绍了,有兴趣的话大家可以看一下原文;今天简单的来学习这篇文章的最后一个模式Pesudo-Leak。 很多时候一些API运行的时候的实际行为和被期望的行为会导致你无法断定内存泄露的存在。Pseudo-leak几乎总是出现在进行动态脚本操作的同个页面内,并且当导航到一个空白页面后就很难察觉到泄露。我们需要做的就是怎样断定其不是跨页内存泄露 阅读全文
posted @ 2012-05-14 05:33 无风听海 阅读(1683) 评论(0) 推荐(0) 编辑
摘要: 引用传参--面向对象的魅力 面向对象开发作为一种主流的软件开发方式,极大地改变了我们开发软件的方式。其遵从人类认识世界的普遍规矩,将现实中纷繁复杂的事物抽象为业务实体类,这就是由具体到抽象的认知过程;其积极响应软件工程的需求,其使我们开发的软件具有灵活性、扩展性、维护性的能力,极大地促进了软件开发的发展。 那么传递参数的时候,面向对象技术能给我们带来什么好处呢? 今天就以昨天碰到的问题作为引子,我们来简单的了解一下面向对象传参的魅力! 在web开发中,我们经常需要从父页面传递参数到子页面中,具体的代码如下, functionshowModelDialog(xml){varurl="c 阅读全文
posted @ 2012-05-13 21:39 无风听海 阅读(2698) 评论(0) 推荐(1) 编辑
摘要: 魔鬼的梦魇—验证IE中的JS内存泄露(二) 闭包往往是需要为内存泄露负责的,因为使用它会很容易产生不为程序员所发现的循环引用。父函数的参数和局部变量将会一直被冻结、引用和持有,知道闭包本身被释放,这并不是显而易见的。事实上闭包已经变成如此普遍的变成策略,以至于开发人员经常的深陷问题之中,但是已存的我们可以依赖使用的资源却很少。我们来看看这个使用了闭包的循环引用图,它详细的描述了闭包及其造成的没存泄露的由来,并且指出了这些循环引用是如何形成的。 一般情况下的循环引用时由于两个特定的对象彼此持有对方的引用造成的,但是闭包却不一样。它不是直接引用,而是其通过引入父函数的作用域信息而产生的。正... 阅读全文
posted @ 2012-05-11 06:08 无风听海 阅读(555) 评论(0) 推荐(0) 编辑
摘要: 随着移动互联网的发展,现在越来越多的应用开始想bs方向转移,原来很多复杂的计算逻辑也自然随着转移到了客户端,需要客户端的javascript来担任实现的角色;原本不起眼的内存泄露,现在却犹如恶魔会很快的吞噬掉用户的内存。从去年开始就在专注js面向对象开发实现、托管代码垃圾回收算法、js内存泄露相关的东西;如果大家关注过这方面的东西,那我想你一定读过微软开发人员Justin Rogers撰写的那篇经典的内存泄露模式,其实道理阐述的很清楚,但是怎么证明和呈现泄露的存在呢?这是一直困扰我的一个难题!今天我们针对这篇文章的各个模式,记录一下自己的一些想法,很多是自己的推论,并不一定正确,欢迎大家批评. 阅读全文
posted @ 2012-05-08 06:03 无风听海 阅读(2156) 评论(1) 推荐(0) 编辑
摘要: 垃圾回收器之标记擦除法 这一次我们来简单的了解一下标记擦除法(mark-and-sweep),标记擦除法是第一个被广泛使用的,并且可以解决循环引用问题的垃圾回收算法; 使用标记擦除法的时候,垃圾对象并不能立即被回收,相反垃圾的回收是等到内存不够使用的时候才触发;这个时候程序的执行流程将被暂时的休眠,一旦所有的垃圾回收后,才会唤醒正常的程序执行流程。 标记擦除法又被称为跟踪垃圾的回收器算法,因为它跟踪所有可以直接或者间接被程序访问的对象集合;这些可以被程序直接访问的对象,有局部变量和静态变量。在回收器中,这些变量被称为根对象。一个被其他对象字段引用的对象称为可被间接访问的对象。所以可以... 阅读全文
posted @ 2012-05-04 06:43 无风听海 阅读(705) 评论(0) 推荐(0) 编辑
摘要: 垃圾回收器算法之引用计数器法 微软将运行在公共语言运行时里的代码成为托管代码;但是从更广泛的意义上来说,只要语言提供了自动内存管理功能,我们使用其开发的代码都可以称为托管代码;自动内存管理即我们平时所说的垃圾回收器,垃圾回收器的实现是一个复杂的过程,其中涉及到很多的细节;垃圾回收器的难点并不是垃圾的回收过程,而是定位垃圾对象。当一个对象不再被引用的时候就可以被回收了,但是我们怎样才能知道其没有被引用呢? 算法定义 为每个对象增加一个字段记录被引用的次数,并由运行时跟踪和更新引用的总数; object p = new ComparableInt32(57); object q... 阅读全文
posted @ 2012-05-03 06:07 无风听海 阅读(2098) 评论(0) 推荐(0) 编辑
摘要: IntroductionThefirst version of this paper, written in 2003, had several shortcomings, not the least of which was that the techniques described were specific to Internet Explorer. I've updated and improved on the original, to document the current state of the art, especially in light of the exte 阅读全文
posted @ 2012-03-08 22:19 无风听海 阅读(902) 评论(0) 推荐(0) 编辑
摘要: 终结2011,吹响2012的号角 这份文字本来是春节前就应该完成的,但是由于年前回家走的匆忙,所以也就耽搁下来了!昨日抵达京城,收拾了一下思维和心情,是写一下的时候了! 2011,对自己来说没有什么大的波澜,自己一直都在专注于代码开发工作;关注工作流引擎、关注.net 底层的一些语言机制的学习、关注面向对象的js、关注……2011,虽然没有什么惊天动地的大成就,但是平时一点一滴的学习积累还是慢慢的改变着自己、改变了自己的开发工作,总体上来说自己对这一年还算满意! 参与工作 1. 工作流引擎的主体功能的设计开发工作; 2. 流程设计器的设计开发工作; 3. 配合测试人员对... 阅读全文
posted @ 2012-01-30 05:07 无风听海 阅读(278) 评论(0) 推荐(0) 编辑
摘要: 集合,没那么简单 好久都没有碰过前端页面的东西了,前几天做一个下拉列表的动态增删,是由js在前台操作select的option来实现的,但是奇怪的事,有的时候不能正确的清空列表的所有选项!本来觉得没有什么可以记的,但是细细咀嚼,还是有必要的! 先贴出我实现清空列表的代码//删除列表的所有选项functionclearListBox(listBox){for(vari=0;i<listBox.length;i++){removeListBoxOption(listBox,i);};};//删除给定列表的某个选项functionremoveListBoxOption(listBox,inde 阅读全文
posted @ 2012-01-13 23:46 无风听海 阅读(499) 评论(6) 推荐(0) 编辑
摘要: 偷懒也得怀揣个性--定制具有个性的VS代码模板 开始使用VS进行程序开发也快有两年的时间了,从开始对其一无所知,到现在的日常工作开发,我的生活已经离不开她了!虽然vs也同样具有臃肿的体态,但是无论是性能,还是应用性、用户化、扩展性等来说,其他的IDE都是无法相比的!vs内置了很多类型的项目模板和项目项模板,这些都极大的方便了我们的工作;但是我们日常开发中,不同的公司对代码开发会有一些不同的规范要求,比如版权声明,如果这些东西可以在新建项目和项目项的时候,自动的加上这些东西,那么就可以“偷懒”节约我们的时间;今天我们简单的介绍一下怎样定制代码模板; Vs代码模板简介 Vs为我们预置了很多的项目和 阅读全文
posted @ 2011-12-25 10:37 无风听海 阅读(526) 评论(0) 推荐(0) 编辑
摘要: JBPM节点分支之Group节点分析 JBPM的众多节点类型中,唯独Group节点比较有个性;Group节点作为众多的节点中的一员,其并不能完成业务功能,但其作为一种节点的容器,可以对现有的节点类型进行“混搭”,从而构造出可以完成新的业务功能的节点类型!今天我们来简单的学习一下Group节点,后续我们会进行深入分析JBPM的并发设计时候再次提到Group节点。 Group节点功能分析 作为父容器,可以将复杂的业务功能进行封装为新的节点类型,便于业务复用和维护; 可以将各种复杂的业务过程嵌套到Group中,简化复杂的业务流程; 可以作为流程并发的边界容器; 可以作为子流程的承载容器,将子流程封. 阅读全文
posted @ 2011-09-25 21:44 无风听海 阅读(1932) 评论(0) 推荐(0) 编辑
摘要: JBPM流程部署之流程实例迁移解析与扩展 前面我们已经详细的介绍了JBPM的流程实例迁移的配置和使用,相信大家已经对JBPM提供的流程实例迁移有所了解;今天我们来深入的分析一下JBPM提供给我们的流程实例迁移策略和相关流程实例迁移对象,最后我们会对分析中提到的不足,进行扩展优化! 下面我们先来简单的介绍一下流程实例迁移中用的几个类。 MigrationHelper:负责解析JPDL中有关流程实例迁移的配置,最终生成migrationDescriptor来承载这些配置信息; InstanceMigrator:负责根据migrationDescriptor来进行流程实例迁移; ProcessIn. 阅读全文
posted @ 2011-09-05 05:51 无风听海 阅读(596) 评论(0) 推荐(0) 编辑
摘要: RoadMap,走出自己的特色主义 这几天上班交通特别拥挤,可能是因为各个学校陆续开学了吧。在这个金秋时节,很多经历了高考折磨的孩子挥手告别往日的苦难,兴高采烈的走进了自己或许是梦寐以求的象牙塔;对于很多人来说,这不仅仅是人生的一次新的起点,这也是人生的一次很大的转折点,当然了,我也不例外;所以这几天心里老是不能平静,觉得自己应该做点什么,来纪念这个特殊的日子!既然是起点,那么我们不妨先回首借鉴一下这些年得生活,最后对自己的职业生涯做出规划。 07年的秋天,那是我人生的一个重要的起点,重要不是因为发生了多么惊天动地的大事,是因为从那时候开始的一些事情,都在悄悄的改变着自己和自己的生活。当然这. 阅读全文
posted @ 2011-09-04 12:17 无风听海 阅读(356) 评论(1) 推荐(0) 编辑
摘要: JBPM流程部署之流程实例迁移 前面我们已经学习了JBPM的流程版本升级,流程版本升级给我们带来了一个新的问题,那就是流程实例迁移;那么什么是流程实例的迁移呢?流程实例的迁移就是在流程发布的时候进行了版本升级,这个时候如果我们让已经运行的同一个流程的实例,按照新版本的流程定义来流转。流程实例的迁移是一件比较复杂的事情,今天我们就简单的来了解一下JBPM中流程实例迁移的使用,后续我们就简单的介绍一下相应的设计思路和扩展。 默认情况下,JBPM为我们提供了两种启动流程实例的方式ProcessInstanceprocessInstance=executionService.startProcess. 阅读全文
posted @ 2011-09-01 23:50 无风听海 阅读(1764) 评论(0) 推荐(0) 编辑
摘要: JBPM流程部署之流程版本升级 流程定义是根据流程定义描述语言(JPDL)对现实业务需求的抽象,是对现实业务需求的高度抽象化;现实中对于同一个流程定义,很少会一成不变,很多时候随着时间的流逝,我们的业务流程有少许的变化,那么我们就需要对流程进行一些改变,这个时候就会涉及到流程的版本升级的问题。今天我们来了解一下jbpm的版本升级的相关执行,最后我们会对JBPM的现有版本升级进行扩展思考。 以下是我对JBPM流程版本升级的相关知识的思考,结合下图我们展开今天的学习 流程的基本属性 Name,流程的名称,在与用户交互时,用于标示不同的流程,主要用于界面展示 Key,流程的键,用于标示同一类流程,. 阅读全文
posted @ 2011-08-31 05:42 无风听海 阅读(1219) 评论(0) 推荐(0) 编辑
摘要: JBPM流程部署之流程定义实体对象分析 JBPM中运行时使用的流程定义实体对象是ProcessDefinitionImpl,流程定义实体对象是流程流转的路线图,他是根据我们对jpdl的解析形成的,他是在我们发布流程的同时,或者是首次发起本版本的流程实例的时候进行实例化;由于流程定义实体的初始化需要动态的解析jpdl,所以相对来说还是很耗费资源的,所以ProcessDefinitionImpl一旦形成流程引擎就会将其缓存起来,以后就会直接从缓存中获取。 ProcessDefinitionImpl在流程引擎具有很重要的作用,除了作为流程流转的依据外,同时也需要具有一些别的特别重要的功能,那么现在. 阅读全文
posted @ 2011-08-28 06:38 无风听海 阅读(2248) 评论(8) 推荐(0) 编辑
摘要: JBPM流程部署之部署数据表分析 JBPM流程部署xml格式的流程定义,虽然引擎默认的在发布完后就直接将流程定义实体缓存,以方便以后的流程运行流转使用,避免不必要的数据库访问,但是这些缓存直接存储在内存中,很容易就会丢失掉,比如重启服务器等,所以最终我们还是需要持久化到数据库里。今天我们来了解一下JBPM与流程部署相关的数据库表。 JBPM的持久化层使用的是Java中被广泛使用的ORM框架Hibernate,下面我们看一下JBPM流程部署实体-数据表关系,其关系如下图所示 本来打算使用visio好好的画个图,但是无奈自己能力有限,只能画了个简单的图,下面我们简单的介绍一下 Deploy... 阅读全文
posted @ 2011-08-24 21:42 无风听海 阅读(995) 评论(0) 推荐(0) 编辑
摘要: JBPM流程部署之部署解析器相关对象扩展 流程部署解析器是流程引擎很重要的部分,负责xml流程定义的解析并转化成运行时的流程定义实体对象,它在很大的程度上决定了流程定义xml的书写形式,当然了也可以说流程定义xml在很大的程度上决定了部署解析器的业务逻辑实现,只是因为站的角度不同;总之怎么强调部署解析器的重要性都不过分,可以说流程部署解析器就是流程定义描述语言的编译器,当我们发布流程的时候,它负责一次性编译好我们的xml流程语言,并最终形成我们流程引擎运行时使用的“语言”(流程定义运行时);流程部署相关对象主要涉及DeployManager、JpdlDeployer等对象。今天我们也简单的来. 阅读全文
posted @ 2011-08-21 08:50 无风听海 阅读(858) 评论(0) 推荐(0) 编辑
摘要: jbpm流程部署之部署服务相关对象扩展 流程部署服务是流程引擎提供给外界的调用接口,用于外部完成部署相关任务来使用,比如发布流程定义、通过流程名称或者流程ID获取流程定义等,所以说流程部署服务是流程引擎部署对外的门面。流程部署服务相关对象涉及到RepositoryService、RepositorySession、RepositoryCache,今天我们来体验一下JBPM在这方面的扩展性。 扩展RepositoryService流程部署服务 如果流程引擎提供的部署服务接口不能满足我们的业务需求,那么我们可以继承流程引擎服务RepositoryServiceImpl(当然我们也可以直接在这个类. 阅读全文
posted @ 2011-08-20 23:56 无风听海 阅读(604) 评论(0) 推荐(0) 编辑
摘要: JBPM流程部署之流程支持节点扩展 流程引擎支持的节点类型在很大的程度上决定了流程引擎对现实业务的支持能力,同时也需要能够灵活的扩展节点类型。通过上篇对流程部署环境的初始化,我们大致的了解到JBPM不仅提供能了众多的节点类型,这些节点基本上可以满足大部分的一般业务需求;同时我们也可以灵活的控制是否使用现有节点的某种类型;当然我们也可以灵活的扩展现有的节点类型和自定义节点的类型;那么现在我们来通过代码来体验JBPM流程引擎灵活的扩展性。 屏蔽JBPM流程引擎原有节点类型 如果我们不想使用JBPM本身提供的某种节点类型(例如hql),那么我们可以屏蔽掉它;我们知道JBPM在jbpm.jpdl.b. 阅读全文
posted @ 2011-08-19 00:07 无风听海 阅读(2197) 评论(0) 推荐(1) 编辑
摘要: JBPM流程部署之部署环境初始化 流程的部署是流程引擎需要完成的几个重要的任务之一,流程定义是现实中复杂业务需求在流程流转实现的体现;流程部署需要完成xml格式流程定义的校验、流程定义的持久化、流程定义到流程定义实体的转化、流程版本升级和流程实例的迁移等众多的功能; 今天我们来简单的学习一下流程部署的环境初始化;流程部署环境初始化需要完成部署服务、流程部署缓存、流程部署持久化相关对象、流程引擎支持的节点类型等相关binding对象及相关的部署解析器的实例化; 流程引擎支持的节点类型初始化 流程引擎支持众多的节点类型,比如任务节点、状态节点、子流程等等;此过程初始化JBPM默认支持的系统节点类. 阅读全文
posted @ 2011-08-17 01:04 无风听海 阅读(3359) 评论(1) 推荐(0) 编辑