




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
广州工程仿真科技有限公司 工程仿真网JBPM配置相关jBPM配置由java类org.jbpm.JbpmConfiguration来描述,获取JbpmConfiguration的最简单方式是使用单态实例方法JbpmConfiguration.getInstance()。如果你想从另外一个源加载配置,你可以使用JbpmConfiguration.parseXxxx方法。static JbpmConfinguration jbpmConfiguration = JbpmConfinguration.getInstance();JbpmConfiguration是线程安全的,因此可以在一个静态成员中维护,所有的线程都可以把JbpmConfiguration作为一个JbpmContext对象的工厂来使用。JbpmContext表示一个事务,在一个上下文块中JbpmContext使服务可用,上下文块如下:JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();try / This is what we call a context block./ Here you can perform workflow operations finally jbpmContext.close();JbpmContext使一组服务和配置为jBPM可用,这些服务在jbpm.cfg.xml配置文件中被配置,并且使jBPM无论运行在任何java环境中这些服务都可用。下面是JbpmContext的一个典型配置,就象你在src/config.files/jbpm.cfg.xml中看到的那样: !- -在这个配置中你可以看到三部分:l 第一部分使用一组服务实现配置jbpm上下文,这些配置的可选项在以后描述特定服务实现的章节中做了描述。l 第二部分是所有配置资源的引用映射,如果你想要定制某些配置文件,这些资源引用可以被修改。典型情况下,你可以在jbpm-3.x.jar中拷贝一个默认的配置,并且把它放在classpath中的某个位置,然后在这个文件中修改引用为你自己定制版本的配置文件。l 第三部分是在jbpm中使用的一些别名配置,这些配置选项在包含特定主题的章节中做了描述。缺省配置的一组服务被定位于一个简单的web应用环境和最小的依赖,持久化服务将获得一个jdbc连接,所有其他服务将会使用这个相同的连接来完成它们的服务,因此,工作流的所有操作都被集中到一个JDBC连接的一个事务中,不再需要事务管理器。JbpmContext包含为大多流程操作所提供的方便方法:public void deployProcessDefinition(ProcessDefinition processDefinition) .public List getTaskList() .public List getTaskList(String actorId) .public List getGroupTaskList(List actorIds) .public TaskInstance loadTaskInstance(long taskInstanceId) .public TaskInstance loadTaskInstanceForUpdate(long taskInstanceId) .public Token loadToken(long tokenId) .public Token loadTokenForUpdate(long tokenId) .public ProcessInstance loadProcessInstance(long processInstanceId) .public ProcessInstance loadProcessInstanceForUpdate(long processInstanceId) .public ProcessInstance newProcessInstance(String processDefinitionName) .public void save(ProcessInstance processInstance) .public void save(Token token) .public void save(TaskInstance taskInstance) .public void setRollbackOnly() .记住,XxxForUpdate方法将记录所加载的对象为自动保存的,因此不需要再调用save方法。指定多个jbpm上下文是可能的,但是你必须确保每个jbpm上下文的name属性必须是唯一的,可以使用JbpmConfiguration.createContext(String name)获取命名的上下文。service元素定义了一个服务名称和此服务的服务工厂,服务将只会在使用JbpmContext.getServices().getService(String name)请求时被创建。工厂也可以被作为一个元素来指定,而不是用属性。那样可以用于在工厂对象中注入一些配置信息,负责解析XML的组件创建和装配被调用的对象工厂。6.1 配置属性jbpm.byte.block.size:文件附件和二进制变量被存储到数据库,不是作为blob,而是作为一个固定大小的二进制对象列表,这可以方便用于不同数据库并且提高jBPM的全面嵌入能力,这个参数控制了固定长度块的大小。jbpm.task.instance.factory:定制任务实例的创建方式,在这个属性中指定一个全类名,当你想要定制TaskInstance bean并且向它添加新的属性时,这是有必要的。请参考“11.10 定制任务实例”,指定的类必须实现org.jbpm.tskmgmt.TaskInstanceFactory。jbpm.variable.resolver:定制jBPM在JSF表达式中寻找第一个术语的方式。jbpm.msg.wait.timout:定制消息缓存的时间。6.2 配置文件下面是对在jBPM中定义的所有配置文件的简短描述。6.2.1 Hibernate.cfg.xml文件这个文件包含hibernate配置,并且引用hibernate映射资源文件。位置:hibernate.cfg.xml文件如果不另外在perties文件的jbpm.hibernate.cfg.xml属性中指定,则jBPM工程中的默认hibernate配置文件在目录src/config.files/hibernate.cfg.xml。6.2.2 Hibernate查询配置文件这个文件包含jBPM会话org.jbpm.db.*Session中所使用的hibernate查询。位置:org/jbpm/db/hibernate.queries.hbm.xml。6.2.3 节点类型配置文件这个文件包含了XML节点元素到节点实现类的映射。位置:org/jbpm/graph/node/node.types.xml。6.2.4 动作类型配置文件这个文件包含了XML动作元素到动作实现类的映射。位置:org/jbpm/graph/action/action.types.xml。6.2.5 业务日历配置文件包含了业务时间和空闲时间的定义。位置:org/jbpm/calendar/perties。6.2.6 变量映射配置文件指定了流程变量(java对象)的值怎样转换到用于存储到jbpm数据库中的变量实例。位置:org/jbpm/context/exe/jbpm.varmapping.xml。6.2.7 转换器配置文件指定了id到类名的映射。id被存储到数据库,org.jbpm.db.hibernate.ConverterEnumType被用来映射id到单态对象。位置:org/jbpm/db/hibernate/perties。6.2.8 缺省模块配置文件指定哪个模块被缺省添加到一个新的流程定义ProcessDefinition。位置:org/jbpm/graph/def/perties。6.2.9 流程档案解析器配置文件指定流程档案解析的解析器。位置:org/jbpm/jpdl/par/jbpm.parsers.xml。6.3 对象工厂对象工厂可以依照bean的xml配置文件创建对象,配置文件指定了对象将被怎样创建、配置以及组装到一起形成一个完整的对象图。对象工厂可以注入配置和其他bean到一个bean中。在最简单的形式中,对象工厂可以从这样一个配置中创建基本类型和java bean:hello world42true10.2100000000.32j-ObjectFactory of = ObjectFactory.parseXmlFromAbove();assertEquals(TaskInstance.class, of.getNewObject(task).getClass();assertEquals(hello world, of.getNewObject(greeting);assertEquals(new Integer(42), of.getNewObject(answer);assertEquals(Boolean.TRUE, of.getNewObject(javaisold);assertEquals(new Float(10.2), of.getNewObject(percentage);assertEquals(new Double(100000000.32), of.getNewObject(salary);assertEquals(new Character(j), of.getNewObject(java);assertNull(of.getNewObject(dusttodust);你也可以配置列表: one two three以及map: 1one2two 3threeBean可以使用直接成员注入和通过属性的setter。 do dishes theotherguyBean可以被引用,被引用的对象不必必须是一个bean,也可以是一个字符串、整型或其他任何对象。Bean可以使用任何构造器构造(构造函数)。 do dishes theotherguy 或者在bean上使用工厂方法 do dishes theotherguy 或者在类上使用一个静态工厂方法 do dishes theotherguy 每个命名的对象都可以使用属性singleton=“true”标记为单态,这意味着给定的对象工厂为每个请求将总是返回相同的对象
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 历史●安徽卷丨2024年安徽省普通高中学业水平选择性考试历史试卷及答案
- 《ERP原理与应用(微课版)》陈承欢成明山课后思考参考答案
- 高中生英语课堂学习投入现状及其影响因素研究
- 西部志愿者试题及答案
- 北京八中2024-2025学年度第二学期第三次模拟答案
- 生物●全国甲卷丨2023年普通高等学校招生全国统一考试生物试卷及答案
- 建材公司风险管理与应急预案制定
- 2025版无限期劳动合同协议书模板
- 2025年中国台式封口机行业市场前景预测及投资价值评估分析报告
- 2025餐厅转让合同简易模板
- 游泳池安全保障制度和措施范本
- 志愿服务证明(多模板)
- 2024届高考语文复习诗歌教考融合之《登高》(含解析)
- 中南地区工程建设标准设计建筑图集 13ZJ301 建筑无障碍设施
- 阴道炎演示课件
- 妇科疾病的运动与体育锻炼预防
- 2023年重庆市高考思想政治试卷真题(含答案)
- CONSORT2010流程图(FlowDiagram)【模板】文档
- 篮球比赛分组循环积分表
- 高中英语词汇3500词(必背)-excel版
- 人音版 音乐六年级上册 《七色光之歌》课件
评论
0/150
提交评论