Giter Club home page Giter Club logo

kft-activiti-demo's Introduction

简介

本项目旨在让初学者快速入门Activiti。

作者咖啡兔

项目主页http://www.kafeitu.me/activiti/2012/05/26/kft-activiti-demo.html

在线演示http://demo.kafeitu.me:8080/kft-activiti-demo

Wiki文档: https://github.com/henryyan/kft-activiti-demo/wiki

QQ群在线支持:: 236540304

《Activiti实战》:Activiti项目Team Leader Tijs Rademakers认可并推荐,详情访问 http://www.kafeitu.me/activiti-in-action.html



框架版本

  • Activiti: 5.19.0

  • Spring: 4.1.5.RELEASE

分支选择

Demo提供Maven版本和no-maven版本,分别适用于会用mavne和不会用maven的同学。

  • maven分支:对应与git的master分支,便于安装和数据库初始化
  • no-maven分支:直接是一个eclipse工程,包含eclipse的项目配置文件和WEB-INF/lib下面的所有的jar文件

Maven方式运行

mvn clean jetty:run

pom.xml 中配置了 h2 数据库与 mysql 数据库,默认启用 h2 数据库配置方式,如果使用 mysql 请启用mysql的配置(使用下面的命令)。

mvn clean jetty:run -Pmysql

演示说明文档

kft-activiti-demo截图

Changelog

1.14.0(2015-11-26)

  1. 添加查看引擎参数功能
  2. 添加查看引擎数据库功能
  3. 添加管理用户与组功能
  4. 添加作业管理功能
  5. 5.17+方式嵌入Rest服务

1.13.0(2015-11-23)

  1. 集成基于5.17+的流程设计器(Activiti Modeler,很漂亮),demo依赖的版本支持5.17以上
  2. 数据库配置属性转移到pom.xml里面,可以直接修改pom.xml文件的参数,也可以在运行时通过-Djdbc.password=111111参数覆盖

1.11~1.12(unknown)

  1. 内部消耗掉了,不要问我...

1.10.1(2014-04-23)

  1. 修复在最新版本Chrome(V34)不能运行Activiti Modeler问题

1.10.0(2014-04-18)

  1. 集成了diagram-viewer,目前提供了三种流程跟踪方式
  2. 添加了针对JPA的演示
  3. 添加了全局监听的演示
  4. 使用5.15.1-kft版本(修复了5.15版本中查询待办任务<包含指定到人、候选人、候选组>方法的Bug)

1.9.0(2014-01-01)

  1. 升级Activiti到5.14
  2. 同时支持纯Rest接口和Activiti Modeler的Rest路径映射

1.8.0(2013-06-22)

  1. 升级Activiti至5.13
  2. 移除了全局监听器(以后的版本会再加入)

1.7.2(2013-04-17)

  1. 升级Activiti至5.12.1-kft版本
  2. 添加全局监听器演示

1.7.1(2013-04-10)

  1. 解决流程引擎自动生成的图片跟踪坐标错乱问题
  2. 使用重新打包的5.12.1,解决JDK6部署时报错问题
  3. 解决跟踪流程图时(调用引擎的图片生成工具)中文乱码

1.7.0(2013-03-10)

  1. 添加分页查询演示
  2. 添加流程定义对象(ProcessDefinition)缓存演示, see: Tweaking the process definition cache in Activiti 5.12
  3. 添加activityFontName属性配置,可以解决流程图中包含中文导致生成的流程图乱码问题
  4. 整合Activiti Modeler,可以在线设计流程

特别说明:5.12.1不是官方提供,是我自己打包的一个版本(支持Native Query分页查询功能,5.13将会直接提供此功能)

1.6.0(2013-01-06)

  1. 添加多实例(发文)演示
  2. 添加自动部署流程定义演示

1.5.0 (2012-12-16)

  1. 13fc350 添加对流程定义状态的控制功能
  2. c50ec09 添加流程实例状态控制功能
  3. 9a97cda formkey查询任务时使用native query
  4. 3e8ab24 清理垃圾
  5. 9035e56 动态表单和外置表单的运行中列表显示的当前节点的英文名称,并在查询流程数据时区分动态、外置表单
  6. 7f955c4 重写JuelFormEngine,解决windows平台读取表单内容乱码问题
  7. d72778b 升级portlet插件为1.1.1
  8. 5e4007c 升级初始化sql的activiti版本为5.11
  9. 684c8a0 解决jsp文件中出现两个head问题
  10. 3bcbd56 菜单的传统改为普通,外部改为外置
  11. 645347c 移除不需要的依赖版本号

1.4.1 (2012-12-01)

1.升级jquery.portlet.js解决把一列的portlet拖走后不能再拖回问题

2.升级:jquery -> 1.83,jquery ui -> 1.9.2, jquery.layout -> 1.3,html头部声明用html标准代替xhtml

1.4 (2012-11-27)

1.表单名称重构,portlet添加关于作者和表单概念模块

2.首页用jquery.portlet插件显示信息,并添加一个待办任务列表的portlet

  1. c50ec09 添加流程实例状态控制功能
  2. 9a97cda formkey查询任务时使用native query
  3. 3e8ab24 清理垃圾
  4. 9035e56 动态表单和外置表单的运行中列表显示的当前节点的英文名称,并在查询流程数据时区分动态、外置表单
  5. 7f955c4 重写JuelFormEngine,解决windows平台读取表单内容乱码问题
  6. d72778b 升级portlet插件为1.1.1
  7. 5e4007c 升级初始化sql的activiti版本为5.11
  8. 684c8a0 解决jsp文件中出现两个head问题
  9. 3bcbd56 菜单的传统改为普通,外部改为外置
  10. 645347c 移除不需要的依赖版本号

1.4.1 (2012-12-01)

1.升级jquery.portlet.js解决把一列的portlet拖走后不能再拖回问题

2.升级:jquery -> 1.83,jquery ui -> 1.9.2, jquery.layout -> 1.3,html头部声明用html标准代替xhtml

1.4 (2012-11-27)

1.表单名称重构,portlet添加关于作者和表单概念模块

2.首页用jquery.portlet插件显示信息,并添加一个待办任务列表的portlet

中间的版本没记录就忽略了。。。

1.0.0(2011-10-23)鼻祖

  1. 第一个原始版本,当时应该只有流程部署和流程启动。。。

kft-activiti-demo's People

Contributors

ceylog avatar donsen123 avatar henryyan avatar jacarrichan avatar kafeitu avatar sgq0085 avatar south55 avatar wang-ray avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

kft-activiti-demo's Issues

1.1.0

  • 添加部署单个流程的功能,5.10解决了中文乱码问题(系统需要有中文字体)
  • 添加查询动态表单配套的运行中、已结束流程实例列表
  • 菜单调整:把流程管理移动到第一层
  • 用rest风格的url规范化view的命名
  • 自定义表单演示流程applyUserId变量用activiti:initiator设置
  • 动态表单:可以从头走到尾
  • 升级activiti的sql文件到5.10版本
  • 打包之后扩展名由zip改为bar,显得更正式一点……其实都一样
  • Fixed:脱离springside之后不能用mvn antrun:run -Prefresh-db初始化数据,原因是没有指定maven-antrun插件版本
  • 添加动态表单的任务列表,办理功能未实现
  • 合并到no-maven脚本中添加处理views的配置
  • 添加合并master分支到no-maven的脚本
  • 可以签收动态表单的任务了
  • 动态表单可以启动了,并且有验证功能
  • 可以读取任务列表了,原来的自定义表单限制值读取leave的流程
  • 显示的消息5秒钟后自动隐藏 4、更新common.js,添加了一些公共配置
  • 忽略.bpmn目录
  • 首页显示的activiti版本号使用pom中定义的属性设置,灵活
  • 添加读取属性配置文件的工具,并在首页底部显示版本号
  • 升级activiti至5.10版本
  • 解决不能在命令行编译问题,原因:dbunit和spring-test的scope设置成了test,改为默认compile

文案小错误

kft-activiti-demo/src/main/webapp/WEB-INF/views/oa/leave/taskList.jsp 的151行的“开始时间”应该改为“结束时间”

调用REST部署接口异常

调用http://localhost:8080/kft-activiti-demo/rest/repository/deployments

调用代码
public static JsonNode deploy(String fileName, InputStream fileInputStream) throws IOException {
HttpPost httpPost = new HttpPost(
SERVER_URL_PREFIX + createRelativeResourceUrl(RestUrls.URL_DEPLOYMENT_COLLECTION));
Map<String, String> additionalFormFields = new HashMap<String, String>();
additionalFormFields.put(ActivitiConstants.TENANTID, OAConstants.TENANT_ID);
httpPost.setEntity(HttpMultipartHelper.getMultiPartEntity(fileName, "application/xml", fileInputStream, null));
CloseableHttpResponse response = executeBinaryRequest(httpPost, HttpStatus.SC_CREATED);
JsonNode responseNode = new ObjectMapper().readTree(response.getEntity().getContent());
closeResponse(response);
return responseNode;
}
异常信息
Exception in thread "main" java.lang.RuntimeException: {"message":"Bad request","exception":"Multipart request is required"}
at com.asp.pt.activiti.rest.api.ActivitiHttpClient.internalExecuteRequest(ActivitiHttpClient.java:426)
at com.asp.pt.activiti.rest.api.ActivitiHttpClient.executeBinaryRequest(ActivitiHttpClient.java:411)
at com.asp.pt.activiti.rest.api.ActivitiHttpClient.deploy(ActivitiHttpClient.java:130)
at com.asp.pt.activiti.rest.api.ActivitiHttpClient.main(ActivitiHttpClient.java:84)

mysql的schema的问题,主要是if exists 和 auto_increment

drop table if exists OA_LEAVE;
create table OA_LEAVE
(
ID bigint auto_increment not null,
PROCESS_INSTANCE_ID VARCHAR(64),
USER_ID VARCHAR(20) not null,
START_TIME TIMESTAMP not null,
END_TIME TIMESTAMP not null,
LEAVE_TYPE VARCHAR(20),
REASON VARCHAR(2000),
APPLY_TIME TIMESTAMP not null,
REALITY_START_TIME TIMESTAMP,
REALITY_END_TIME TIMESTAMP,
constraint PK_OA_LEAVE primary key (ID)
);

点击 办理-》提交,出现 Unknown property used in expression: ${!deptLeaderPass}

HTTP Status 500 - Request processing failed; nested exception is org.activiti.engine.ActivitiException: Unknown property used in expression: ${!deptLeaderPass}

org.activiti.engine.ActivitiException: Unknown property used in expression: ${!deptLeaderPass}
org.activiti.engine.impl.el.JuelExpression.getValue(JuelExpression.java:53)
org.activiti.engine.impl.el.UelExpressionCondition.evaluate(UelExpressionCondition.java:53)
org.activiti.engine.impl.bpmn.behavior.ExclusiveGatewayActivityBehavior.leave(ExclusiveGatewayActivityBehavior.java:69)
org.activiti.engine.impl.bpmn.behavior.FlowNodeActivityBehavior.execute(FlowNodeActivityBehavior.java:36)
org.activiti.engine.impl.pvm.runtime.AtomicOperationActivityExecute.execute(AtomicOperationActivityExecute.java:60)
org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:97)
org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:633)
org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:628)
org.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionNotifyListenerStart.eventNotificationsCompleted(AtomicOperationTransitionNotifyListenerStart.java:52)
org.activiti.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:56)
org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:97)
org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:633)
org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:628)
org.activiti.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:49)
org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:97)
org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:633)
org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:628)
org.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionCreateScope.execute(AtomicOperationTransitionCreateScope.java:49)
org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:97)
org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:633)
org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:628)
org.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionNotifyListenerTake.execute(AtomicOperationTransitionNotifyListenerTake.java:80)
org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:97)
org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:633)
org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:628)
org.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionDestroyScope.execute(AtomicOperationTransitionDestroyScope.java:116)
org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:97)
org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:633)
org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:628)
org.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionNotifyListenerEnd.eventNotificationsCompleted(AtomicOperationTransitionNotifyListenerEnd.java:35)
org.activiti.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:56)
org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:97)
org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:633)
org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:628)
org.activiti.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:49)
org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:97)
org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:633)
org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:628)
org.activiti.engine.impl.persistence.entity.ExecutionEntity.take(ExecutionEntity.java:452)
org.activiti.engine.impl.persistence.entity.ExecutionEntity.take(ExecutionEntity.java:430)
org.activiti.engine.impl.bpmn.behavior.BpmnActivityBehavior.performOutgoingBehavior(BpmnActivityBehavior.java:140)
org.activiti.engine.impl.bpmn.behavior.BpmnActivityBehavior.performDefaultOutgoingBehavior(BpmnActivityBehavior.java:66)
org.activiti.engine.impl.bpmn.behavior.FlowNodeActivityBehavior.leave(FlowNodeActivityBehavior.java:44)
org.activiti.engine.impl.bpmn.behavior.AbstractBpmnActivityBehavior.leave(AbstractBpmnActivityBehavior.java:47)
org.activiti.engine.impl.bpmn.behavior.UserTaskActivityBehavior.signal(UserTaskActivityBehavior.java:225)
org.activiti.engine.impl.persistence.entity.ExecutionEntity.signal(ExecutionEntity.java:409)
org.activiti.engine.impl.persistence.entity.TaskEntity.complete(TaskEntity.java:203)
org.activiti.engine.impl.cmd.SubmitTaskFormCmd.execute(SubmitTaskFormCmd.java:50)
org.activiti.engine.impl.cmd.NeedsActiveTaskCmd.execute(NeedsActiveTaskCmd.java:59)
org.activiti.engine.impl.interceptor.CommandInvoker.execute(CommandInvoker.java:24)
org.activiti.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:57)
org.activiti.spring.SpringTransactionInterceptor$1.doInTransaction(SpringTransactionInterceptor.java:47)
org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:133)
org.activiti.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:45)
org.activiti.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:37)
org.activiti.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:40)
org.activiti.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:35)
org.activiti.engine.impl.FormServiceImpl.submitTaskFormData(FormServiceImpl.java:70)
me.kafeitu.demo.activiti.web.form.dynamic.DynamicFormController.completeTask(DynamicFormController.java:205)
sun.reflect.GeneratedMethodAccessor838.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:606)
org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137)
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:777)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:706)
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:943)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:868)
javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.activiti.explorer.JsonpCallbackFilter.doFilter(JsonpCallbackFilter.java:57)
org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:176)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
root cause

org.activiti.engine.impl.javax.el.PropertyNotFoundException: Cannot resolve identifier 'deptLeaderPass'
org.activiti.engine.impl.juel.AstIdentifier.eval(AstIdentifier.java:83)
org.activiti.engine.impl.juel.AstUnary$SimpleOperator.eval(AstUnary.java:28)
org.activiti.engine.impl.juel.AstUnary.eval(AstUnary.java:60)
org.activiti.engine.impl.juel.AstEval.eval(AstEval.java:50)
org.activiti.engine.impl.juel.AstNode.getValue(AstNode.java:26)
org.activiti.engine.impl.juel.TreeValueExpression.getValue(TreeValueExpression.java:114)
org.activiti.engine.impl.delegate.ExpressionGetInvocation.invoke(ExpressionGetInvocation.java:33)
org.activiti.engine.impl.delegate.DelegateInvocation.proceed(DelegateInvocation.java:37)
org.activiti.engine.impl.delegate.DefaultDelegateInterceptor.handleInvocation(DefaultDelegateInterceptor.java:25)
org.activiti.engine.impl.el.JuelExpression.getValue(JuelExpression.java:48)
org.activiti.engine.impl.el.UelExpressionCondition.evaluate(UelExpressionCondition.java:53)
org.activiti.engine.impl.bpmn.behavior.ExclusiveGatewayActivityBehavior.leave(ExclusiveGatewayActivityBehavior.java:69)
org.activiti.engine.impl.bpmn.behavior.FlowNodeActivityBehavior.execute(FlowNodeActivityBehavior.java:36)
org.activiti.engine.impl.pvm.runtime.AtomicOperationActivityExecute.execute(AtomicOperationActivityExecute.java:60)
org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:97)
org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:633)
org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:628)
org.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionNotifyListenerStart.eventNotificationsCompleted(AtomicOperationTransitionNotifyListenerStart.java:52)
org.activiti.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:56)
org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:97)
org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:633)
org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:628)
org.activiti.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:49)
org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:97)
org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:633)
org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:628)
org.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionCreateScope.execute(AtomicOperationTransitionCreateScope.java:49)
org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:97)
org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:633)
org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:628)
org.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionNotifyListenerTake.execute(AtomicOperationTransitionNotifyListenerTake.java:80)
org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:97)
org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:633)
org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:628)
org.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionDestroyScope.execute(AtomicOperationTransitionDestroyScope.java:116)
org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:97)
org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:633)
org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:628)
org.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionNotifyListenerEnd.eventNotificationsCompleted(AtomicOperationTransitionNotifyListenerEnd.java:35)
org.activiti.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:56)
org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:97)
org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:633)
org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:628)
org.activiti.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:49)
org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:97)
org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:633)
org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:628)
org.activiti.engine.impl.persistence.entity.ExecutionEntity.take(ExecutionEntity.java:452)
org.activiti.engine.impl.persistence.entity.ExecutionEntity.take(ExecutionEntity.java:430)
org.activiti.engine.impl.bpmn.behavior.BpmnActivityBehavior.performOutgoingBehavior(BpmnActivityBehavior.java:140)
org.activiti.engine.impl.bpmn.behavior.BpmnActivityBehavior.performDefaultOutgoingBehavior(BpmnActivityBehavior.java:66)
org.activiti.engine.impl.bpmn.behavior.FlowNodeActivityBehavior.leave(FlowNodeActivityBehavior.java:44)
org.activiti.engine.impl.bpmn.behavior.AbstractBpmnActivityBehavior.leave(AbstractBpmnActivityBehavior.java:47)
org.activiti.engine.impl.bpmn.behavior.UserTaskActivityBehavior.signal(UserTaskActivityBehavior.java:225)
org.activiti.engine.impl.persistence.entity.ExecutionEntity.signal(ExecutionEntity.java:409)
org.activiti.engine.impl.persistence.entity.TaskEntity.complete(TaskEntity.java:203)
org.activiti.engine.impl.cmd.SubmitTaskFormCmd.execute(SubmitTaskFormCmd.java:50)
org.activiti.engine.impl.cmd.NeedsActiveTaskCmd.execute(NeedsActiveTaskCmd.java:59)
org.activiti.engine.impl.interceptor.CommandInvoker.execute(CommandInvoker.java:24)
org.activiti.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:57)
org.activiti.spring.SpringTransactionInterceptor$1.doInTransaction(SpringTransactionInterceptor.java:47)
org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:133)
org.activiti.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:45)
org.activiti.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:37)
org.activiti.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:40)
org.activiti.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:35)
org.activiti.engine.impl.FormServiceImpl.submitTaskFormData(FormServiceImpl.java:70)
me.kafeitu.demo.activiti.web.form.dynamic.DynamicFormController.completeTask(DynamicFormController.java:205)
sun.reflect.GeneratedMethodAccessor838.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:606)
org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)
org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137)
org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:110)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:777)
org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:706)
org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:943)
org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:877)
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:966)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:868)
javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:842)
javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
org.activiti.explorer.JsonpCallbackFilter.doFilter(JsonpCallbackFilter.java:57)
org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:176)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)

流程模型保存时,报错

我跟了下代码,在执行/service/model/idxxx/save 时,http status 返回400,但是demo的演示地址上是没有问题的

jar包找不到

org.activiti:activiti-engine:jar:5.10这个jar包在网上搜了半天也没找到。给个jar包下载链接哈。

关于kft-activiti-demo-no-maven 5.12。1-kft 数据库使用mysql部分中文乱码

qq20130520091541
2013-05-20 09:55:14,806 [main] DEBUG [org.activiti.engine.impl.db.DbSqlSession] - inserting: ProcessDefinitionEntity[leave:1:18]
2013-05-20 09:55:14,806 [main] DEBUG [org.activiti.engine.impl.persistence.entity.ProcessDefinitionEntity.insertProcessDefinition] - ooo Using Connection [Transaction-aware proxy for target Connection [org.hibernate.engine.jdbc.internal.proxy.ConnectionProxyHandler@11dde0c[valid=true]]]
2013-05-20 09:55:14,806 [main] DEBUG [org.activiti.engine.impl.persistence.entity.ProcessDefinitionEntity.insertProcessDefinition] - ==> Preparing: insert into ACT_RE_PROCDEF(ID_, REV_, CATEGORY_, NAME_, KEY_, VERSION_, DEPLOYMENT_ID_, RESOURCE_NAME_, DGRM_RESOURCE_NAME_, DESCRIPTION_, HAS_START_FORM_KEY_, SUSPENSION_STATE_) values (?, 1, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
2013-05-20 09:55:14,816 [main] DEBUG [org.activiti.engine.impl.persistence.entity.ProcessDefinitionEntity.insertProcessDefinition] - ==> Parameters: leave:1:18(String), http://www.kafeitu.me/demo/activiti/leave(String), 请假流程(String), leave(String), 1(Integer), 1(String), leave.bpmn20.xml(String), leave.png(String), 请假流程演示(String), false(Boolean), 1(Integer)
2013-05-20 09:55:14,816 [main] DEBUG [org.activiti.engine.impl.db.DbSqlSession] - inserting: ProcessDefinitionEntity[leave-formkey:1:19]
2013-05-20 09:55:14,816 [main] DEBUG [org.activiti.engine.impl.persistence.entity.ProcessDefinitionEntity.insertProcessDefinition] - ooo Using Connection [Transaction-aware proxy for target Connection [org.hibernate.engine.jdbc.internal.proxy.ConnectionProxyHandler@11dde0c[valid=true]]]
2013-05-20 09:55:14,816 [main] DEBUG [org.activiti.engine.impl.persistence.entity.ProcessDefinitionEntity.insertProcessDefinition] - ==> Preparing: insert into ACT_RE_PROCDEF(ID_, REV_, CATEGORY_, NAME_, KEY_, VERSION_, DEPLOYMENT_ID_, RESOURCE_NAME_, DGRM_RESOURCE_NAME_, DESCRIPTION_, HAS_START_FORM_KEY_, SUSPENSION_STATE_) values (?, 1, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
2013-05-20 09:55:14,816 [main] DEBUG [org.activiti.engine.impl.persistence.entity.ProcessDefinitionEntity.insertProcessDefinition] - ==> Parameters: leave-formkey:1:19(String), http://www.kafeitu.me/demo/activiti/leave(String), 请假流程-外部表单(String), leave-formkey(String), 1(Integer), 1(String), leave-formkey.bpmn20.xml(String), leave-formkey.png(String), 请假流程演示(String), true(Boolean), 1(Integer)
2013-05-20 09:55:14,816 [main] DEBUG [org.activiti.engine.impl.db.DbSqlSession] - inserting: ProcessDefinitionEntity[leave-dynamic-from:1:20]
2013-05-20 09:55:14,816 [main] DEBUG [org.activiti.engine.impl.persistence.entity.ProcessDefinitionEntity.insertProcessDefinition] - ooo Using Connection [Transaction-aware proxy for target Connection [org.hibernate.engine.jdbc.internal.proxy.ConnectionProxyHandler@11dde0c[valid=true]]]
2013-05-20 09:55:14,816 [main] DEBUG [org.activiti.engine.impl.persistence.entity.ProcessDefinitionEntity.insertProcessDefinition] - ==> Preparing: insert into ACT_RE_PROCDEF(ID_, REV_, CATEGORY_, NAME_, KEY_, VERSION_, DEPLOYMENT_ID_, RESOURCE_NAME_, DGRM_RESOURCE_NAME_, DESCRIPTION_, HAS_START_FORM_KEY_, SUSPENSION_STATE_) values (?, 1, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
2013-05-20 09:55:14,816 [main] DEBUG [org.activiti.engine.impl.persistence.entity.ProcessDefinitionEntity.insertProcessDefinition] - ==> Parameters: leave-dynamic-from:1:20(String), http://www.kafeitu.me/demo/activiti/leave(String), 请假流程-动态表单(String), leave-dynamic-from(String), 1(Integer), 1(String), leave-dynamic-from.bpmn20.xml(String), leave-dynamic-from.png(String), 请假流程演示-动态表单(String), false(Boolean), 1(Integer)
2013-05-20 09:55:14,816 [main] DEBUG [org.activiti.engine.impl.db.DbSqlSession] - inserting: ProcessDefinitionEntity[dispatch:1:21]
2013-05-20 09:55:14,816 [main] DEBUG [org.activiti.engine.impl.persistence.entity.ProcessDefinitionEntity.insertProcessDefinition] - ooo Using Connection [Transaction-aware proxy for target Connection [org.hibernate.engine.jdbc.internal.proxy.ConnectionProxyHandler@11dde0c[valid=true]]]
2013-05-20 09:55:14,816 [main] DEBUG [org.activiti.engine.impl.persistence.entity.ProcessDefinitionEntity.insertProcessDefinition] - ==> Preparing: insert into ACT_RE_PROCDEF(ID_, REV_, CATEGORY_, NAME_, KEY_, VERSION_, DEPLOYMENT_ID_, RESOURCE_NAME_, DGRM_RESOURCE_NAME_, DESCRIPTION_, HAS_START_FORM_KEY_, SUSPENSION_STATE_) values (?, 1, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
2013-05-20 09:55:14,816 [main] DEBUG [org.activiti.engine.impl.persistence.entity.ProcessDefinitionEntity.insertProcessDefinition] - ==> Parameters: dispatch:1:21(String), http://www.activiti.org/test(String), 发文会签(String), dispatch(String), 1(Integer), 1(String), dispatch.bpmn20.xml(String), dispatch.png(String), 会签(String), false(Boolean), 1(Integer)
qq20130520095743

增加驳回后,获取结束流程的问题。

一个的流程,经过层层审批通过,流程结束,在历史表中。我们能够查阅得到已结束的业务信息。

但是当在驳回操作后,发起人停止申请,也让流程正常结束了。这样也在历史表中去了,也能查阅得到业务信息,但是这种应该是不能被查询到的啊。难道在停止申请时,去删掉这个业务信息么?

不太懂,这个怎么实现,能点拨我下该怎么做的么

1.3.0-no-maven

  • 添加了外部表单演示
  • 动态表单的运行中可以查看当前节点

1.2.0

2012-08-16 21:09 Henry Yan o 未登录或者登陆超时跳转到登陆页面
2012-08-16 21:09 Henry Yan o 流程列表中添加流程部署时间列
2012-08-16 20:56 Henry Yan o 登陆页面和首页添加一些有用的连接
2012-08-16 20:53 Henry Yan o 合并到no-maven分支脚本添加复制测试类的定义
2012-08-15 15:54 Henry Yan o 解决不能重新部署流程问题,因为maven编译的时候导致bar文件损坏
2012-08-12 12:56 Henry Yan o 添加部署单个流程的功能,5.10解决了中文乱码问题

1.2.0-no-maven

--merge from master
2012-08-16 21:09 Henry Yan o 未登录或者登陆超时跳转到登陆页面
2012-08-16 21:09 Henry Yan o 流程列表中添加流程部署时间列
2012-08-16 20:56 Henry Yan o 登陆页面和首页添加一些有用的连接
2012-08-16 20:53 Henry Yan o 合并到no-maven分支脚本添加复制测试类的定义
2012-08-15 15:54 Henry Yan o 解决不能重新部署流程问题,因为maven编译的时候导致bar文件损坏
2012-08-12 12:56 Henry Yan o 添加部署单个流程的功能,5.10解决了中文乱码问题

-- only for no-maven
2012-08-16 20:25 Henry Yan o 属性配置文件中用具体值代替属性名称
2012-08-16 20:20 Henry Yan o 合并master分支的单元测试

mvn tomcat:run 报以下错误

2012-12-03 22:16:04,812 [main] DEBUG [me.kafeitu.demo.activiti.util.PropertyFileUtil] - property: jdbc.username, value: sa
2012-12-03 22:16:04,812 [main] DEBUG [me.kafeitu.demo.activiti.util.PropertyFileUtil] - property: dbcp.maxIdle, value: 10
2012-12-03 22:16:04,812 [main] DEBUG [me.kafeitu.demo.activiti.util.PropertyFileUtil] - property: dbcp.maxActive, value: 20
2012-12-03 22:16:04,812 [main] INFO [me.kafeitu.modules.web.servlet.PropertiesServlet] - ++++ 初始化[classpath下面的属性配置文件]完成 ++++
2012-12-03 22:16:04,843 [main] INFO [org.springframework.web.servlet.DispatcherServlet] - FrameworkServlet 'springServlet': initialization started
2012-12-03 22:16:04,843 [main] INFO [org.springframework.web.context.support.XmlWebApplicationContext] - Refreshing WebApplicationContext for namespace 'springServlet-servlet': startup date [Mon Dec 03 22:16:04 CST 2012]; parent: Root WebApplicationContext
2012-12-03 22:16:04,843 [main] INFO [org.springframework.beans.factory.xml.XmlBeanDefinitionReader] - Loading XML bean definitions from ServletContext resource [/WEB-INF/spring-mvc.xml]
2012-12-03 22:16:04,953 [main] INFO [org.springframework.beans.factory.support.DefaultListableBeanFactory] - Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@1883d5f: defining beans [dynamicFormController,formKeyController,useController,loginController,mainController,leaveController,activitiController,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalPersistenceAnnotationProcessor,org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping#0,org.springframework.format.support.FormattingConversionServiceFactoryBean#0,org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter#0,org.springframework.web.servlet.handler.MappedInterceptor#0,org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver#0,org.springframework.web.servlet.mvc.annotation.ResponseStatusExceptionResolver#0,org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver#0,org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping,org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter,org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter,org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler#0,org.springframework.web.servlet.handler.SimpleUrlHandlerMapping#0,org.springframework.web.servlet.config.viewControllerHandlerMapping,org.springframework.web.servlet.view.InternalResourceViewResolver#0,org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter#0,messageConverters,multipartResolver,org.springframework.context.annotation.ConfigurationClassPostProcessor$ImportAwareBeanPostProcessor#0]; parent: org.springframework.beans.factory.support.DefaultListableBeanFactory@8d0a11
2012-12-03 22:16:04,984 [main] INFO [org.springframework.beans.factory.support.DefaultListableBeanFactory] - Destroying singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@1883d5f: defining beans [dynamicFormController,formKeyController,useController,loginController,mainController,leaveController,activitiController,org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.internalPersistenceAnnotationProcessor,org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping#0,org.springframework.format.support.FormattingConversionServiceFactoryBean#0,org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter#0,org.springframework.web.servlet.handler.MappedInterceptor#0,org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver#0,org.springframework.web.servlet.mvc.annotation.ResponseStatusExceptionResolver#0,org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver#0,org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping,org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter,org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter,org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler#0,org.springframework.web.servlet.handler.SimpleUrlHandlerMapping#0,org.springframework.web.servlet.config.viewControllerHandlerMapping,org.springframework.web.servlet.view.InternalResourceViewResolver#0,org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter#0,messageConverters,multipartResolver,org.springframework.context.annotation.ConfigurationClassPostProcessor$ImportAwareBeanPostProcessor#0]; parent: org.springframework.beans.factory.support.DefaultListableBeanFactory@8d0a11
2012-12-03 22:16:04,984 [main] ERROR [org.springframework.web.servlet.DispatcherServlet] - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dynamicFormController': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.activiti.engine.RepositoryService me.kafeitu.demo.activiti.web.form.dynamic.DynamicFormController.repositoryService; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'processEngine' defined in URL [file:/F:/git-fork/kft-activiti-demo/target/classes/applicationContext.xml]: Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: org/apache/ibatis/type/TypeHandler
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:287)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1106)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:609)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:469)
at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:631)
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:588)

1.0.1

master分支:
Fixed:hruser用户同意申请时系统报错

no-maven分支:
Fixed:hruser用户同意申请时系统报错
Imp:删除了WebContent/WEB-INF/classes/目录的内容,并让git忽略之

外置表单问题

外置表单在获取任务列表的时候会报错。
错误为:
The error may exist in org/activiti/db/mapping/entity/Task.xml The error may involve org.activiti.engine.impl.persistence.entity.TaskEntity.selectTaskByNativeQuery-Inline The error occurred while setting parameters

对应代码如下:

 List<Task> tasks = taskService.createNativeTaskQuery().sql(asigneeSql + "union all " + needClaimSql).parameter("processDefinitionKey", "leave-formkey")

修改方法:

 List<Task> tasks = taskService.createNativeTaskQuery().sql(asigneeSql + " union all " + needClaimSql).parameter("processDefinitionKey", "leave-formkey")
其实就是union前面少了一个空格,导致直接和后面连起来了

第一次用markdown啊。这个崩溃啊。。。

外置表单中文乱码

default
另外,修改了leave-formkey.bpmn文件中activiti:formKey对外置表单的引用,发现项目运行时没有改变引用

字符集问题

[ERROR] F:\git2\kft-activiti-demo\src\main\java\me\kafeitu\demo\activiti\web\for
m\formkey\FormKeyController.java:[131,7] 编码 GBK 的不可映射字符
[ERROR]
[ERROR] F:\git2\kft-activiti-demo\src\main\java\me\kafeitu\demo\activiti\web\for
m\formkey\FormKeyController.java:[131,10] 编码 GBK 的不可映射字符
[ERROR]
[ERROR] F:\git2\kft-activiti-demo\src\main\java\me\kafeitu\demo\activiti\web\for
m\formkey\FormKeyController.java:[131,19] 编码 GBK 的不可映射字符
[ERROR]
[ERROR] F:\git2\kft-activiti-demo\src\main\java\me\kafeitu\demo\activiti\web\for
m\formkey\FormKeyController.java:[143,64] 编码 GBK 的不可映射字符
[ERROR]
[ERROR] F:\git2\kft-activiti-demo\src\main\java\me\kafeitu\demo\activiti\web\for
m\formkey\FormKeyController.java:[156,20] 编码 GBK 的不可映射字符
[ERROR]
[ERROR] F:\git2\kft-activiti-demo\src\main\java\me\kafeitu\demo\activiti\web\for
m\formkey\FormKeyController.java:[164,26] 编码 GBK 的不可映射字符
[ERROR]
[ERROR] F:\git2\kft-activiti-demo\src\main\java\me\kafeitu\demo\activiti\web\for
m\formkey\FormKeyController.java:[179,64] 编码 GBK 的不可映射字符
[ERROR]
[ERROR] F:\git2\kft-activiti-demo\src\main\java\me\kafeitu\demo\activiti\web\for
m\formkey\FormKeyController.java:[188,64] 编码 GBK 的不可映射字符
[ERROR]
[ERROR] F:\git2\kft-activiti-demo\src\main\java\me\kafeitu\demo\activiti\web\for
m\formkey\FormKeyController.java:[205,18] 编码 GBK 的不可映射字符
[ERROR]
[ERROR] F:\git2\kft-activiti-demo\src\main\java\me\kafeitu\demo\activiti\web\for
m\formkey\FormKeyController.java:[229,58] 编码 GBK 的不可映射字符
[ERROR]
[ERROR] F:\git2\kft-activiti-demo\src\main\java\me\kafeitu\demo\activiti\web\for
m\formkey\FormKeyController.java:[188,50] 未结束的字符串字面值
[ERROR]
[ERROR] F:\git2\kft-activiti-demo\src\main\java\me\kafeitu\demo\activiti\web\for
m\formkey\FormKeyController.java:[188,93] 需要 ';'
[ERROR]
[ERROR] F:\git2\kft-activiti-demo\src\main\java\me\kafeitu\demo\activiti\web\for
m\formkey\FormKeyController.java:[189,9] 不是语句

1.3.0

  • 添加了外部表单演示
  • 动态表单的运行中可以查看当前节点

activiti spring自动部署流程文件的一个问题

我用的是spring自动部署activit流程文件的功能 ,我线上的服务tomcat不重启,用我本地的tomcat重启(链接到线上的数据库),让自动部署到线上,可是由于线上的服务没有重启 ,所以新部署的流程还是没有用!我想让线上的tomcat不重启的情况下,能正常使用我用本地tomcat部署上去的新流程 这个问题怎么解决

请教一下!!!!

1.0.0

  • 部署流程
  • 启动流程
  • 任务签收
  • 任务办理
  • 驳回请求
  • 查询运行中流程
  • 查询历史流程
  • 任务监听

自定义动态表单中包含long类型属性在发起流程时无法在form中显示

如果自定义流程中在startEvent中使用动态表单并且包含类型为long的property,那么在流程列表中点击『启动』按钮该表单无法正常显示在弹出的窗体中,原因是在dynamic-process-list.js中的formFieldCreator中没有加上对long类型的操作。参照string增加long的对应代码就ok了。

maven-compiler-plugin-2.5依赖包问题

mvn tomcat:run时候报以下错

[ERROR] realm = plugin>org.apache.maven.plugins:maven-compiler-plugin:2.5
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/C:/Documents%20and%20Settings/Administrator/.m2/reposito
ry/org/apache/maven/plugins/maven-compiler-plugin/2.5/maven-compiler-plugin-2.5.
jar
[ERROR] urls[1] = file:/C:/Documents%20and%20Settings/Administrator/.m2/reposito
ry/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar
[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import from realm ClassRealm[maven.api, parent: null]]
[ERROR]
[ERROR] -----------------------------------------------------: org.codehaus.plex
us.compiler.CompilerException

解决的方法是将maven-compiler-plugin版本改成2.0.2
参见

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.