0 0

jbpm问题,运行特别的慢,页面504错误,求大神帮忙呀,急~~ [30

.代码:
TaskService taskService = this.jBPMUtil.getProcessEngine().getTaskService();
// 根据用户id查找当前任务列表
List<Task> list = taskService.findGroupTasks(uid);//uid是当前用户ID
List<TaskView> taskViewsList = new ArrayList<TaskView>();
//TaskView 是自己写的一个实体类
TaskView taskView = new TaskView();
String listId = "" ;
for (Task task:list) {
listId = task.getId();

Integer id = (Integer) taskService.getVariable(listId, "id");
String type = (String) taskService.getVariable(listId, "type");
taskView.setAuditNode("1");
taskView.setId(id);
taskView.setType(type);
taskView.setTaskId(listId);
taskViewsList.add(taskView);
}
公司用的工作流取当前用户任务的一个例子,之前运行是没问题的 一直没人改,后来突然报504错误了,检查发现是这个方法运行的特别慢,后台还在执行这个方法的时候页面就已经报错了。
研究了一下工作流:
List<Task> list = taskService.findGroupTasks(uid);这个方法取出来的LIST 数据大概在1000条左右,循环这个list却用了一分钟多,发现问题是在 循环中取值的这两个方法特别慢
Integer id = (Integer) taskService.getVariable(listId, "id");
String type = (String) taskService.getVariable(listId, "type");
求教各位大神 有没有办法把这两个方法提到循环外面来,或者其他什么方法可以解决运行时间太长的办法?
2014年7月15日 14:05

2个答案 按时间排序 按投票排序

0 0

getVariable()这个获取数据的方法,考虑缓存。如果是从库里取的数据,那么肯定是影响操作速度的。尽量减少数据库的操作。是你优化的一个方向。

2014年7月18日 13:01
0 0

TaskView taskView = new TaskView();   这个是创建了一个实例?
String listId = "" ; 
for (Task task:list) {
listId = task.getId();

Integer id = (Integer) taskService.getVariable(listId, "id");
String type = (String) taskService.getVariable(listId, "type");
taskView.setAuditNode("1");
taskView.setId(id);
taskView.setType(type);
taskView.setTaskId(listId);
taskViewsList.add(taskView);

每次遍历的数据填充这个实例?

}

我看着有点别扭 帮你修改下 可能我不对

TaskView taskView ;
String listId = "" ;
for (Task task:list) {
taskView = new TaskView();
listId = task.getId();

Integer id = (Integer) taskService.getVariable(listId, "id");
String type = (String) taskService.getVariable(listId, "type");
taskView.setAuditNode("1");
taskView.setId(id);
taskView.setType(type);
taskView.setTaskId(listId);
taskViewsList.add(taskView);
}

2014年7月15日 23:19

相关推荐

    JBPM4运行时错误异常总结

    在使用JBPM4的过程中,可能会遇到各种运行时错误和异常,这些异常通常是由于配置问题、依赖冲突或者代码错误导致的。下面将详细讨论在JBPM4中遇到的一些常见异常及其解决方法。 1. `org.jbpm.api.JbpmException: ...

    jbpm4.3问题解决

    3. **环境配置问题**:如JDBC驱动兼容性、Tomcat版本与jbpm版本不匹配、内存设置不足等,都可能导致启动或运行问题。 4. **权限问题**:jbpm服务账户在数据库中的权限不足,可能影响到流程的创建和执行。 5. **日志...

    jbpm运行环境配置

    配置jbpm的运行环境涉及多个步骤,包括对系统的要求、库文件的准备、数据库的初始化以及数据源的配置。以下是详细的配置指南: 首先,确保你的系统满足最低的JDK版本要求。jbpm 3.2.2需要J2SE 1.4.2或更高版本。这...

    JBPM范例 可以运行 简单易懂 快速掌握JBPM

    这个压缩包中的“JBPM范例”旨在帮助用户快速理解并上手JBPM,通过实际运行的示例,使得学习过程更加直观且易懂。 JBPM的核心功能包括: 1. **流程建模**:JBPM使用BPMN 2.0(Business Process Model and Notation...

    jbpm4jbpm5

    jbpm4jbpm5是关于jbpm流程管理框架的专题,涵盖了jbpm4和jbpm5两个主要版本。jbpm是一个开源的工作流管理系统,用于帮助开发者实现业务流程自动化。以下是基于给定文件的信息,深入解析jbpm4和jbpm5的知识点: 1. *...

    jbpm3.2.3可运行实例源码

    这个可运行实例源码包含了一个完整的jbpm3.2.3环境,用于帮助开发者理解并学习如何在实际项目中应用jbpm。 jbpm的核心功能包括流程定义、流程实例的启动、任务管理和监控。流程定义通常通过Business Process ...

    jbpm简介\jbpm简介

    ### jBPM简介与关键技术知识点 #### 一、jBPM概述 jBPM是一个开源的、纯Java的、轻量级的商业流程管理(Business Process Management, BPM)工作流引擎。它支持多种可执行流程语言,并且可以在任何JavaEE应用...

    jBPM5 实例实践 运行结果文档

    本文将详细介绍jBPM5的一个实例实践,旨在提供清晰的操作指南和运行结果解析。jBPM5是一个开源的工作流管理系统,用于设计、执行和管理业务流程。在这个实践中,我们将关注一个具体的报销流程,展示如何启动流程、...

    ssh-jbpm可以运行的工作流

    ssh-jbpm可以运行的工作流,其中的包去下载我的struts2.0+spring2.0+hibernate3.0所需要的包和struts2.0+spring2.0+hibernate3.0中加入jbpm3.1.2所需要的包

    jbpm jbpm4.3.jar

    jbpm jbpm4.3.jar DDDDDDDD

    jbpm 案例 jbpm jbpm

    jbpm使用案例,非常不错,大家都来看看吧。

    JBPM4.4完整可用审批流程

    JBPM4.4是JBoss Business Process Management (BPM)平台的一个版本,它是一个开源的企业级BPM解决方案,用于设计、执行和管理业务流程。在这个完整的审批流程工程中,我们看到它采用Maven进行项目构建和依赖管理,...

    jbpm3.12版可运行War包

    可在任何Web服务器上运行的jbpm3.12版的war包。JBossJBpm自带的那个Web程序只能运行在JBoss下,这个war包是我修改过的标准War包,可以运行在任何Web服务器上。

    jbpm-3.1.2.zip_jbpm_jbpm 3.1.2_jbpm-3.1.2.rar_jbpm3.1.2_工作流

    jbpm-3.1.2.zip 文件包含了 jBpm 的一个重要版本——jBpm 3.1.2,这是一个开源的工作流管理系统,专为构建灵活且可扩展的业务流程解决方案而设计。jBpm 提供了一种方式,使得开发者能够用简单而强大的语言来表达业务...

    jBPM3.2.rar_JBPM3.2_jbpm_jbpm 3.2_jbpm3_jbpm3.2教程

    2. **动态流程**:jbPM允许在运行时修改流程,增强了流程的灵活性和适应性。 3. **事件处理**:jbPM支持各种事件,如定时器事件、信号事件,可以实现复杂的流程控制逻辑。 4. **服务整合**:jbPM可以通过服务调用...

    jbpm开发指南--jbpm全面介绍

    通过查看JBPM的表,我们知道要实现流程监控功能就是把JBPM当中的JBPM_PROCESSDEFINITION(已发布的流程表),JBPM_PROCESSINSTANCE(流程实例表),JBPM_TASKINSTANCE(流程产生的任务实例表)这三张表串联起来就可以...

    jbpm4.3常见问题解决

    这些问题通常涉及到配置错误、代码逻辑问题或者对jBPM API的理解不足。解决方案可能包括检查配置文件的正确性、修正代码逻辑、优化数据库访问策略以及合理使用工作流引擎提供的缓存机制。 接下来,"jBPM4常见概念....

    jbpm+ssh整合

    4. **创建数据库表**:使用修改后的配置文件运行jbpm,它会根据配置自动创建包含jbpm工作流表的数据库。 5. **安装Eclipse图形化插件**:安装jbpm的Eclipse插件,便于图形化设计和管理流程定义。 6. **部署jbpm和...

Global site tag (gtag.js) - Google Analytics