问题描述:
在结束工作项时抛出数据不匹配异常,主要是因为,在结束工作项前会向相关数据去写入一些参数,并且这些参数传入到该环节结束后的子流程中,通过流程参数传参的时候抛参数不匹配异常。
解决办法:
将流程中的参数设置为string类型(这样参数类型比较好处理),向相关数据区写数据的时候要注意必须是string类型。
异常信息:
java.lang.IllegalArgumentException: Data type is inconsistent
at com.primeton.workflow.engine.scheduler.event.SubProcessDealer.addParasToSubProcess4Multi(SubProcessDealer.java:919)
at com.primeton.workflow.engine.scheduler.event.SubProcessDealer.executeMutliSubProcessActivity(SubProcessDealer.java:503)
at com.primeton.workflow.engine.scheduler.event.SubProcessDealer.execSubProcessActivity(SubProcessDealer.java:294)
at com.primeton.workflow.engine.scheduler.event.handler.activity.visitors.SubProcessActivityVisitor.startActivity(SubProcessActivityVisitor.java:80)
at com.primeton.workflow.engine.scheduler.event.handler.activity.ActivityExecuter.invoke(ActivityExecuter.java:219)
at com.primeton.workflow.event.framework.event.base.WFEventExecutor.handleEvent(WFEventExecutor.java:160)
at com.primeton.workflow.event.framework.event.base.EventServiceRunnerImpl.processOneContext(EventServiceRunnerImpl.java:200)
at com.primeton.workflow.event.framework.event.base.EventServiceRunnerImpl.processOneContextSafe(EventServiceRunnerImpl.java:173)
at com.primeton.workflow.event.framework.event.base.EventServiceRunnerImpl.process(EventServiceRunnerImpl.java:153)
at com.primeton.workflow.event.framework.event.base.interceptor.EventRunnerInterceptor.invoke(EventRunnerInterceptor.java:76)
at com.primeton.workflow.event.framework.EventServiceInterceptor.invoke(EventServiceInterceptor.java:74)
at com.primeton.workflow.event.framework.event.base.EventServiceImplDefault.publish(EventServiceImplDefault.java:154)
at com.primeton.workflow.engine.scheduler.event.handle.task.WFTaskScheduler.taskHasFinished(WFTaskScheduler.java:226)
at com.primeton.workflow.api.listener.WFTaskListener.OnMessage(WFTaskListener.java:25)
at com.primeton.workflow.task.message.impl.TaskMessageCenter.fireTaskMessage(TaskMessageCenter.java:89)
at com.primeton.workflow.task.service.scheduler.TaskScheduler.finishWorkItem(TaskScheduler.java:561)
at com.primeton.workflow.task.engtask.WFWorkItemOperateImpl.finishWorkItemInner(WFWorkItemOperateImpl.java:182)
at com.primeton.workflow.task.engtask.WFWorkItemOperateImpl.finishWorkItem(WFWorkItemOperateImpl.java:165)
at com.primeton.workflow.api.engtask.WorkItemManagerImpl.finishWorkItem(WorkItemManagerImpl.java:37)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:592)
at com.primeton.workflow.api.proxy.EngineTxAction.operatorImplement(EngineTxAction.java:417)
at com.primeton.workflow.api.proxy.EngineTxAction.doOperator(EngineTxAction.java:272)
at com.primeton.workflow.api.proxy.EngineTxAction.execute(EngineTxAction.java:259)
at com.primeton.workflow.engine.scheduler.enginelog.EngineLogExecutor.executeAction(EngineLogExecutor.java:153)
at com.primeton.workflow.api.proxy.EngineInvocationHandlerImpl.invoke(EngineInvocationHandlerImpl.java:141)
at com.primeton.workflow.api.proxy.EngineInterceptor.invoke(EngineInterceptor.java:251)
at $Proxy14.finishWorkItem(Unknown Source)
at com.eos.workflow.api.impl.WFWorkItemMananger.finishWorkItem(WFWorkItemMananger.java:321)
at cn.com.ctsi.dataconve.DataConve.dataConv(DataConve.java:156)
at cn.com.ctsi.dataconve.ConvData_flow.invokePojo0(ConvData_flow.java:168)
at cn.com.ctsi.dataconve.ConvData_flow._Conv(ConvData_flow.java:263)
at cn.com.ctsi.dataconve.ConvData_flow._view0(ConvData_flow.java:280)
at cn.com.ctsi.dataconve.ConvData_flow.process(ConvData_flow.java:313)
at com.primeton.engine.core.impl.process.PageflowInstance.process(PageflowInstance.java:327)
at com.primeton.ext.engine.core.processor.AbstractPageFlowProcessor.doProcess(AbstractPageFlowProcessor.java:330)
at com.primeton.ext.engine.core.processor.AbstractPageFlowProcessor.process(AbstractPageFlowProcessor.java:112)
at com.primeton.access.http.impl.ProcessorWebInterceptor.doIntercept(ProcessorWebInterceptor.java:111)
at com.primeton.access.http.impl.WebInterceptorChainImpl.doIntercept(WebInterceptorChainImpl.java:54)
at com.primeton.access.authorization.impl.AccessedHttpResourceFilter.doIntercept(AccessedHttpResourceFilter.java:131)
at com.primeton.access.http.impl.WebInterceptorChainImpl.doIntercept(WebInterceptorChainImpl.java:54)
at com.eos.access.http.UserLoginCheckedFilter.doIntercept(UserLoginCheckedFilter.java:117)
at com.primeton.access.http.impl.WebInterceptorChainImpl.doIntercept(WebInterceptorChainImpl.java:54)
at com.primeton.access.http.impl.WebI18NInterceptor.doIntercept(WebI18NInterceptor.java:64)
at com.primeton.access.http.impl.WebInterceptorChainImpl.doIntercept(WebInterceptorChainImpl.java:54)
at com.primeton.sca.host.webapp.SCAWebServiceServletFilter.doIntercept(SCAWebServiceServletFilter.java:122)
at com.primeton.access.http.impl.WebInterceptorChainImpl.doIntercept(WebInterceptorChainImpl.java:54)
at com.eos.access.http.InterceptorFilter.doFilter(InterceptorFilter.java:120)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
[BPS Process Server][2012-08-21 10:41:48,016][ERROR] [402881e439470ac50139470d0ab10038]exec event exception EVENT={ type=[START_ACTIVITY] processDefID=[1] procInstID=[6121] actDefID=[subActivity] actInstID=[12426] workItemID=[0]} EVENTCONTEXT={
WFEventContext{ parent=null
event0: type=[FINISH_ACTIVITY] processDefID=[1] procInstID=[6121] actDefID=[manualActivity5] actInstID=[12425] workItemID=[0]
event1: type=[SCHEDULE_NEXT_ACTIVITY] processDefID=[1] procInstID=[6121] actDefID=[manualActivity5] actInstID=[12425] workItemID=[0]
event2: type=[START_ACTIVITY] processDefID=[1] procInstID=[6121] actDefID=[subActivity] actInstID=[12426] workItemID=[0]
currentPos=2
isStopped=false
}}