- 浏览: 270531 次
- 性别:
- 来自: 新乡
文章分类
- 全部博客 (227)
- servciemix (10)
- db (18)
- javaTools (4)
- hibernate (31)
- web (3)
- spring (14)
- design pattern (4)
- java security (3)
- portal (1)
- ejb (6)
- session (2)
- java_lang (21)
- jbpm (29)
- struts (7)
- orgRights (2)
- project manager Jira (7)
- 跨库事务 (2)
- mysql (14)
- ubuntu (7)
- osgi (9)
- maven ant make (4)
- 分布式 高并发 高性能 (5)
- virgo-dm_server (0)
- osgi web (3)
- platform (1)
- smooks (1)
- business (1)
- 职场生涯 (14)
- Java编码格式 (2)
- web服务 (1)
- 计算机使用 (1)
- 健康工作生活的保障,工作中务必抛掉的不良心态 (4)
- 电信-网络监控 (1)
- 多线程-multithread (1)
- 海量数据-高性能 (2)
- Mybatis (1)
- web开发平台研发 (0)
- oracle (0)
- 应用服务器调优 (0)
- web前端 (0)
- servlet-jsp (0)
- tomcat (2)
- newtouch (1)
- portal_liferay (2)
- version control (1)
- apm-impact (2)
- tools (1)
- 研发管理 (1)
- 电商业务 (1)
- 生鲜电商市场调查 (0)
- PBX (0)
- 房东 (0)
最新评论
-
lifuchao:
...
权限问题 -
Branding:
谢谢,受教了,另外,CONN AS SYSDBA,必须是在操作 ...
Oracle密码忘记了怎么办? -
zhuchao_ko:
...
Portal实现原理 -
败类斯文:
不知道改哪里。。。木有见到红色。。表示悟性低了、、
jira error: Neither the JAVA_HOME nor the JRE_HOME environment variable is defin -
c__06:
正文:假如事务我是这样定义的: <tx:method n ...
Spring中Transactional配置
一、运行期环境就是一个餐馆
二、jBPM4的运行期环境
Environment environment = environmentFactory.openEnvironment();
try {
everything available in this block
} finally {
environment.close();
}
两个关键的类:EnvironmentFactory和Environment.
EnvironmentFactory是全局的,在整个应用程序中保持一个实例即可.
Environment则是每次方法调用则要new一个.
看看Environment的主要方法:
public abstract Object get(String name);
public abstract <T> T get(Class<T> type);
是的,environment为我们的代码提供所需要的服务类实例.
那么,如何获得environment?
那么,为什么Environment每次调用要new呢?
好吧,当你需要获取数据库Session的时候,是不是每次都要new呢.Environment提供的服务里包括了非线程安全的数据库操作服务.
三、 jBPM4运行期环境的实现
1、JbpmConfiguration
JbpmConfiguration是jBPM4里最重要的类,它是整个应用程序的入口.它实现了EnvironmentFactory接口.
JbpmConfiguration加载jBPM总的配置文件,还是大概扫一下这个配置文件:
<jbpm-configuration xmlns="http://jbpm.org/xsd/cfg">
<process-engine-context>
<repository-service />
<repository-cache />
<execution-service />
<history-service />
<management-service />
<identity-service />
<task-service />
<hibernate-configuration>
<cfg resource="jbpm.hibernate.cfg.xml" />
</hibernate-configuration>
<hibernate-session-factory />
</process-engine-context>
<transaction-context>
<repository-session />
<pvm-db-session />
<job-db-session />
<task-db-session />
<message-session />
<timer-session />
<history-session />
</transaction-context>
</jbpm-configuration>
配置文件被分为了两部分,分别是:process-engine-context和transaction-context.对应于两个IOC容器(WireContext)的配置文件.
作为EnvironmentFactory,JbpmConfiguration持有成品process-engine-context对应的IOC容器(全局的)实例,持有半成品transaction-context的WireDefinition.当调用openEnvironment方法时,JbpmConfiguration会new Environment,然后将process-engine-context IOC填充入environment,同时初始化transaction-context IOC,并将其也填充入environment.这样通过environment就可以获得所有所需要的服务,包括全局的和非线程安全的服务实例.也就是environment透过IOC容器提供了查找各种服务的能力.
file:///C:/Documents%20and%20Settings/Administrator/Local%20Settings/Temporary%20Internet%20Files/Content.IE5/AMBSBSK7/6f603207390ea3518502ce6fa53f60a0[1].png
2、与线程绑定的environment
environment初始化之后,避免参数传递得一塌糊涂的方式就是将environment与线程绑定.看Environment的代码:
是的,在openEnvironment时,有这么一行代码:
这样environment就与线程绑定了,可以通过Environment.getCurrent()任意调用了.
哪里有压迫,哪里就有放抗.
在environment.close()方法里:
Environment.popEnvironment();
OK,结束.
发表评论
-
JBPM4的优秀博文链接
2011-08-31 22:39 13311 Jbpm4 IOC容器 http://www.it ... -
jbpm4 在tomcat6 下面ssh2 错误
2011-08-31 21:35 1002异常:java.lang.LinkageError: load ... -
JBPM4表结构说明
2011-07-23 00:33 1301JBPM4表结构说明 (2010-05-05 14:10:02 ... -
jbpm流程文件的部署
2011-07-23 00:32 1199jbpm流程文件的部署 (2010-05-05 14:51:5 ... -
BPM4.3总结二 Jbpm4.3使用文档
2011-07-23 00:30 1158JBPM4.3总结二 [此博文包含图片] (2010-05-0 ... -
JBPM4.3总结五 合同审批实例
2011-07-23 00:27 1364JBPM4.3总结五 [此博文包含图片] (2010-05-0 ... -
JBPM4.3总结四 2.9任务管理
2011-07-23 00:26 1064JBPM4.3总结四 (2010-05-05 11:53:32 ... -
JBPM4.3总结三 集成自定义用户表
2011-07-23 00:24 1579JBPM4.3总结三 (2010-05-05 11:54:56 ... -
swing 实现JBPM 4.2例子
2011-07-22 13:20 1041swing 实现JBPM 4.2例子 http://blo ... -
JBPM4.3之任务管理
2011-07-22 12:37 1082JBPM4.3总结四(2010-05-05 11:53:32) ... -
jbpm frequently used url
2011-06-29 12:19 10911. http://old.family168.com/bb ... -
jbpm4 和 spring 的集成
2011-06-29 11:37 840jbpm4 内置了和 spring 的集成支持, 配置很简单, ... -
任务提交后为什么JBPM4_HIST_VAR不存在值
2011-06-29 11:05 1502JbpmProcessEngineUtil.getExecut ... -
权限问题
2011-06-29 09:05 1239机构 与 权限关系表:机构拥有与之关联的权限 应用 与 权限 ... -
Jbpm4.3连接数据库配置
2011-06-29 08:35 1315Jbpm4.3连接数据库配置 收藏 1、我以mysql为例子 ... -
jbpm4 有18张表,简单介绍如下
2011-06-29 08:33 1834jbpm4 有18张表,简单介绍如下: JBPM4_DEP ... -
Drools
2011-06-28 20:59 1284Drools - The Business Logic int ... -
Activiti BPM Platform
2011-06-28 20:58 1126Activiti BPM Platform http://a ... -
jbpm之6 JBPM流程通过Aciton动态创建TaskInstance来实现“会签”
2011-06-28 20:57 840jbpm6(2007-03-14 23:32:38)转载 ... -
jbpm之6 JBPM流程通过Aciton动态创建TaskInstance来实现“会签”
2011-06-28 20:52 802jbpm6(2007-03-14 23:32:38)转载 ...
相关推荐
#### 六、PVM的运行期环境 1. **JbpmConfiguration**: - 配置了PVM的运行环境,包括事务管理、环境配置等。 - 通过读取配置文件(`jbpm.cfg.xml`)来初始化这些设置。 2. **EngineIOC**: - 使用了依赖注入技术来...
现在流行抱大腿,不过对眼光的要求也高。...下面分别讨论:一、 通过Spring暴露服务还记得在jBPM4的运行期环境里提到的JbpmConfiguration吗?它是整个jBPM4的入口,并且是整个应用独此一份的。通过它可
- **面向切面编程(AOP)**:通过预编译方式或运行期动态代理方式,实现对业务逻辑的各个部分进行模块化,从而增强程序的功能。 - **事务管理**:为业务逻辑层提供统一的事务管理机制,确保数据的一致性和完整性。 ...
2. **运行期环境**:提供了IOC(Inversion of Control)容器,如jbpm.cfg.xml中的`<process-engine-context/>`,用于管理对象生命周期和依赖注入。 - Environment:环境设置,包含了运行时必要的上下文信息。 ### ...
本文将深入探讨如何使用jBPM进行实例开发,包括创建基本流程、使用API管理和控制运行期执行。 首先,要开始jBPM实例开发,你需要下载jbpm-3.0-[version].zip并解压,然后在Eclipse中导入项目。通过“File”->...
此外,历史库中丢失了部分运行期数据属性,且未记录任务候选人的任务拾取时间,这对于绩效统计来说是个挑战。 国内人工任务密集型流程的典型特点是用户友好、表单自定义和灵活的临时动态性需求。业务用户需要能够对...
使其能在流程运行期获得同配置期一样灵活地对执行逻辑条件进行变更。经过扩展后的IK Expression还可以适用于各种常规业务系统的动态条件配置,如需要图形化配置应用的场合,或是模拟Excel电子表格的公式运算的场景。
使其能在流程运行期获得同配置期一样灵活地对执行逻辑条件进行变更。经过扩展后的IK Expression还可以适用于各种常规业务系统的动态条件配置,如需要图形化配置应用的场合,或是模拟Excel电子表格的公式运算的场景。...
使其能在流程运行期获得同配置期一样灵活地对执行逻辑条件进行变更。经过扩展后的IK Expression还可以适用于各种常规业务系统的动态条件配置,如需要图形化配置应用的场合,或是模拟Excel电子表格的公式运算的场景。...
使其能在流程运行期获得同配置期一样灵活地对执行逻辑条件进行变更。经过扩展后的IK Expression还可以适用于各种常规业务系统的动态条件配置,如需要图形化配置应用的场合,或是模拟Excel电子表格的公式运算的场景。...
7. **开发工具与应用服务器**:他对Weblogic、Websphere、Tomcat等应用服务器有使用经验,这些服务器用于部署和运行Java应用,体现了他在企业级环境中的实战能力。 8. **项目经验**:在“武汉融杰商贸综合管理平台...
这些框架包括了Java类加载器架构、JVM架构、Java技术体系、线程运行架构、Java编译与运行结构、JMS技术架构、JMX技术架构、Spring架构、Hibernate架构、iBatis架构、Struts1与Struts2架构、JBPM架构以及EJB技术架构...
2. 请求分布分析:通过分析请求在一天中的分布,了解高峰期和低谷期,以便优化资源分配。 3. 数据采样:在高负载情况下,全量统计可能会带来额外的负担,可以采用随机采样或者滑动平均等方式来降低计算复杂度。 4. ...
这种广泛的兼容性使得Liferay能够在不同的环境中部署和运行,提高了其灵活性和可扩展性。 #### 四、数据库支持 Liferay支持多种关系型数据库管理系统,包括但不限于: - Apache Derby - IBM DB2 - Firebird - Hyper...