jBPM-4.0中文开发指南-第11章 环境 - 编程入门网
jBPM-4.0中文开发指南-第11章 环境时间:2011-09-24第 11 章 环境 11.1. 简介 环境组件由连接环境组合是一种控制反转(IoC)容器。 它读取配置信息, 描述对象应该如何实例化 ,如何配置,如何连接在一起。 环境被用来获得Activity实现 和流程虚拟机所需的资源和服务。 主要目的是让流程虚拟机的多个部 分可配置, 这样PVM和运行在顶部的语言可以工作在一个标准Java环境 也可以在一个企业Java环境。 环境被分成一系列环境。 每个环境可以拥有自己的生命周期。比如,流程引擎环境会 覆盖应用的全 生命时间。块环境只对try-finally块周期内起作用。 一般一个块环境负责一个数据库事务。 每个环境 暴露一个key-value列表。 pairs. 11.2. EnvironmentFactory 为了开始和一个环境进行工作,你需要一个EnvironmentFactory. 一个单独的环境工厂对象可以被用 在整个应用的完整生命时间里。 所以一般这会保存在一个静态成员变量中。 EnvironmentFactory自己在 流程引擎环境中 一个EnvironmentFactory一般被获得 通过解析一个配置文件,像这样:
参考javadocs包org.jbpm.stream,获得流源的更多类型。 这是一个环境工厂中的默认解析器, 会创建DefaultEnvironmentFactory. 这个主意是我们也会支持 spring作为Ioc容器,但是这还处于TODO状态。 很欢迎大家在这方面帮助我们:-)。这个解析器可以使 用静态setter方法配置 EnvironmentFactory.setParser(Parser)。 11.3. 环境块 一个环境为try-finally块的范围而存在。 这是一个环境块看起来像怎样:
环境块定义了另一个生命部分:block环境。 一个事务可以一个定义在块环境中的对象的 常用例子。 在这样一个块中,对象可以通过名称或类型在环境中查找到。 如果对象可以从环境中通过 environment.get(String name) 或<T> T environment.get(Class<T>) 找到。 当一个环境被创建时,它拥有一个process-engine环境 和一个block 环境。 在默认实现中,process-engine环境和 block环境是WireContext. 一个WireContext包含对象如何创 建和 如果绑定到正式的对象图中。 jBPM-4.0中文开发指南-第11章 环境(2)时间:2011-09-2411.4. 实例 为了启动简单实例,我们会需要一个Book:
然后让我们创建一个环境工厂,知道如何创建book
现在我们会创建一个环境块,使用这个环境工厂, 我们会查找环境中的book. 第一次会使用类型查找 ,第二次会使用名称查找。
为了防止这样,你需要把环境作为一个参数传递给所有方法, 当前的环境被维护在一个threadlocal 栈中: Environment environment = Environment.getCurrent(); 11.5. 环境 环境可以动态被添加和删除。 任何东西都可以暴露为一个Context.
当在环境中执行一次查找,这里有一个默认的搜索次序 哪些环境会为请求的对象检测。 默认次序与 环境添加的顺序相反。 比如,如果一个对象被定义在流程引擎环境和块环境中, 块环境被认为更适用的 ,会被首先检测。 可选的,一个默认的搜索次序可以被传递给get 作为一个可选的参数。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |