NutzCN Logo
问答 nutz和snaker结合自定义了一个表单 启动流程的时候报错
发布于 2527天前 作者 qq_64f81159 1956 次浏览 复制 上一个帖子 下一个帖子
标签:

错误如下

2017-05-26 10:45:01,070 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=startInstanceById]
2017-05-26 10:45:05,110 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=process]
2017-05-26 10:45:05,111 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=getProcessById]
2017-05-26 10:45:05,111 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=ensureNameCache]
2017-05-26 10:45:05,111 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=ensureEntityCache]
2017-05-26 10:45:05,112 org.snaker.engine.core.ProcessService.getProcessById(ProcessService.java:110) DEBUG - obtain process[id=143e4f0b8da54483abe480d8a925242f] from cache.
2017-05-26 10:45:05,112 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=process]
2017-05-26 10:45:05,112 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=check]
2017-05-26 10:45:05,112 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=order]
2017-05-26 10:45:05,113 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=createOrder]
2017-05-26 10:45:05,113 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=saveOrder]
2017-05-26 10:45:05,114 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=access]
2017-05-26 10:45:05,114 org.snaker.engine.access.jdbc.JdbcAccess.saveOrUpdate(JdbcAccess.java:167) DEBUG - 增删改数据(需手动提交事务)=
insert into wf_order (id,process_Id,creator,create_Time,parent_Id,parent_Node_Name,expire_Time,last_Update_Time,last_Updator,order_No,variable,version) values (?,?,?,?,?,?,?,?,?,?,?,?)
2017-05-26 10:45:05,125 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=access]
2017-05-26 10:45:05,125 org.snaker.engine.access.jdbc.JdbcAccess.saveOrUpdate(JdbcAccess.java:167) DEBUG - 增删改数据(需手动提交事务)=
insert into wf_hist_order (id,process_Id,order_State,creator,create_Time,end_Time,parent_Id,expire_Time,order_No,variable) values (?,?,?,?,?,?,?,?,?,?)
2017-05-26 10:45:05,127 org.snaker.engine.core.SnakerEngineImpl.execute(SnakerEngineImpl.java:274) DEBUG - 创建流程实例对象:Order(id=befdefd4454b40be92358adedf276d78,processId=143e4f0b8da54483abe480d8a925242f,creator=superadmin,createTime2017-05-26 10:45:05,orderNo=20170526-10:45:05-113-881)
2017-05-26 10:45:05,128 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=task]
2017-05-26 10:45:05,128 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=createTask]
2017-05-26 10:45:05,128 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=access]
2017-05-26 10:45:05,129 org.snaker.engine.access.jdbc.JdbcAccess.saveOrUpdate(JdbcAccess.java:167) DEBUG - 增删改数据(需手动提交事务)=
insert into wf_task (id,order_Id,task_Name,display_Name,task_Type,perform_Type,operator,create_Time,finish_Time,expire_Time,action_Url,parent_Task_Id,variable,version) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?)
2017-05-26 10:45:05,131 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=access]
2017-05-26 10:45:05,132 org.snaker.engine.access.jdbc.JdbcAccess.saveOrUpdate(JdbcAccess.java:167) DEBUG - 增删改数据(需手动提交事务)=
insert into wf_task_actor (task_Id, actor_Id) values (?, ?)
2017-05-26 10:45:05,134 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=manager]
2017-05-26 10:45:05,134 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=getSurrogate]
2017-05-26 10:45:05,135 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=getSurrogate]
2017-05-26 10:45:05,135 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=access]
2017-05-26 10:45:05,135 org.snaker.engine.access.jdbc.JdbcAccess.queryList(JdbcAccess.java:193) DEBUG - 查询多条记录=
select id, process_Name, operator, surrogate, odate, sdate, edate, state from wf_surrogate where 1=1 and state = 1  and process_Name in(?)  and operator in (?)  and sdate <= ? and edate >= ?  order by sdate desc 
2017-05-26 10:45:05,141 com.kanq.snakerflow.SnakerLogInterceptor.intercept(SnakerLogInterceptor.java:30) INFO  - 创建任务[标识=816f6318ab674762bb77b0aa743ce1ac,名称=借款申请,创建时间=2017-05-26 10:45:05,参与者={apply.operator}]
2017-05-26 10:45:05,141 com.kanq.snakerflow.SnakerAssignInterceptor.intercept(SnakerAssignInterceptor.java:12) DEBUG - SnakerAssignInterceptor >>> 
2017-05-26 10:45:05,141 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=query]
2017-05-26 10:45:05,142 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=getActiveTasks]
2017-05-26 10:45:05,142 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=access]
2017-05-26 10:45:05,142 org.snaker.engine.access.jdbc.JdbcAccess.queryList(JdbcAccess.java:193) DEBUG - 查询多条记录=
select id,order_Id,task_Name,display_Name,task_Type,perform_Type,operator,create_Time,finish_Time,expire_Time,action_Url,parent_Task_Id,variable, version from wf_task  where 1=1  and order_Id = ?  order by create_Time desc 
2017-05-26 10:45:05,150 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=executeTask]
2017-05-26 10:45:05,150 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=task]
2017-05-26 10:45:05,150 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=complete]
2017-05-26 10:45:05,151 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=access]
2017-05-26 10:45:05,151 org.snaker.engine.access.jdbc.JdbcAccess.queryObject(JdbcAccess.java:180) DEBUG - 查询单条记录=
select id,order_Id,task_Name,display_Name,task_Type,perform_Type,operator,create_Time,finish_Time,expire_Time,action_Url,parent_Task_Id,variable, version from wf_task  where id = ?
2017-05-26 10:45:05,155 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=isAllowed]
2017-05-26 10:45:05,155 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=access]
2017-05-26 10:45:05,155 org.snaker.engine.access.jdbc.JdbcAccess.queryList(JdbcAccess.java:193) DEBUG - 查询多条记录=
select task_Id, actor_Id from wf_task_actor  where task_Id = ?
2017-05-26 10:45:05,157 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=getStrategy]
2017-05-26 10:45:05,161 org.snaker.nutz.access.NutzTransactionInterceptor.rollback(NutzTransactionInterceptor.java:77) ERROR - 
java.lang.NullPointerException
	at org.nutz.trans.Trans._depose(Trans.java:93)
	at org.nutz.trans.Trans.close(Trans.java:255)
	at org.snaker.nutz.access.NutzTransactionInterceptor.rollback(NutzTransactionInterceptor.java:75)
	at org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:97)
	at org.snaker.engine.core.SnakerEngineImpl$$EnhancerByCGLIB$$d48cfb25.executeTask(<generated>)
	at com.kanq.modules.controllers.platform.workflow.SnakerController.startAndExecute(SnakerController.java:154)
	at com.kanq.modules.controllers.platform.sys.FormController.submit(FormController.java:228)
	at com.kanq.modules.controllers.platform.sys.FormController$$NUTZAOP._aop_invoke(FormController.java:2)
	at org.nutz.aop.InterceptorChain.invoke(InterceptorChain.java:77)
	at org.nutz.aop.InterceptorChain.doChain(InterceptorChain.java:57)
	at org.nutz.aop.interceptor.TransactionInterceptor.filter(TransactionInterceptor.java:34)
	at org.nutz.aop.InterceptorChain.doChain(InterceptorChain.java:60)
	at com.kanq.modules.controllers.platform.sys.FormController$$NUTZAOP.submit(FormController.java:1)
	at com.kanq.modules.controllers.platform.sys.FormController$$FASTCLASS._invoke(FormController.java:1)
	at org.nutz.lang.reflect.AbstractFastClass.invoke(AbstractFastClass.java:143)
	at org.nutz.lang.reflect.FastClassFactory.invoke(FastClassFactory.java:67)
	at org.nutz.mvc.impl.processor.MethodInvokeProcessor.process(MethodInvokeProcessor.java:27)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.AdaptorProcessor.process(AdaptorProcessor.java:33)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.ActionFiltersProcessor.process(ActionFiltersProcessor.java:58)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at com.kanq.common.processor.XssSqlFilterProcessor.process(XssSqlFilterProcessor.java:33)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at com.kanq.common.processor.NutShiroProcessor.process(NutShiroProcessor.java:49)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.ModuleProcessor.process(ModuleProcessor.java:123)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.EncodingProcessor.process(EncodingProcessor.java:27)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.UpdateRequestAttributesProcessor.process(UpdateRequestAttributesProcessor.java:15)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at com.kanq.common.processor.GlobalsSettingProcessor.process(GlobalsSettingProcessor.java:33)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at com.kanq.common.processor.LogTimeProcessor.process(LogTimeProcessor.java:21)
	at org.nutz.mvc.impl.NutActionChain.doChain(NutActionChain.java:44)
	at org.nutz.mvc.impl.ActionInvoker.invoke(ActionInvoker.java:67)
	at org.nutz.mvc.ActionHandler.handle(ActionHandler.java:31)
	at org.nutz.mvc.NutFilter.doFilter(NutFilter.java:198)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
	at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
	at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
	at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
	at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
	at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
	at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
	at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
	at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
	at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2466)
	at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2455)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:745)
2017-05-26 10:45:05,162 com.kanq.common.processor.LogTimeProcessor.process(LogTimeProcessor.java:26) DEBUG - [POST]URI=/cms/platform/sys/form/submit 35598ms
2017-05-26 10:45:05,162 org.nutz.mvc.impl.processor.FailProcessor.process(FailProcessor.java:28) WARN  - Error@/platform/sys/form/submit :
java.lang.NullPointerException
	at org.nutz.trans.Trans._depose(Trans.java:93)
	at org.nutz.trans.Trans.close(Trans.java:255)
	at org.nutz.aop.interceptor.TransactionInterceptor.filter(TransactionInterceptor.java:41)
	at org.nutz.aop.InterceptorChain.doChain(InterceptorChain.java:60)
	at com.kanq.modules.controllers.platform.sys.FormController$$NUTZAOP.submit(FormController.java:1)
	at com.kanq.modules.controllers.platform.sys.FormController$$FASTCLASS._invoke(FormController.java:1)
	at org.nutz.lang.reflect.AbstractFastClass.invoke(AbstractFastClass.java:143)
	at org.nutz.lang.reflect.FastClassFactory.invoke(FastClassFactory.java:67)
	at org.nutz.mvc.impl.processor.MethodInvokeProcessor.process(MethodInvokeProcessor.java:27)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.AdaptorProcessor.process(AdaptorProcessor.java:33)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.ActionFiltersProcessor.process(ActionFiltersProcessor.java:58)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at com.kanq.common.processor.XssSqlFilterProcessor.process(XssSqlFilterProcessor.java:33)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at com.kanq.common.processor.NutShiroProcessor.process(NutShiroProcessor.java:49)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.ModuleProcessor.process(ModuleProcessor.java:123)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.EncodingProcessor.process(EncodingProcessor.java:27)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.UpdateRequestAttributesProcessor.process(UpdateRequestAttributesProcessor.java:15)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at com.kanq.common.processor.GlobalsSettingProcessor.process(GlobalsSettingProcessor.java:33)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at com.kanq.common.processor.LogTimeProcessor.process(LogTimeProcessor.java:21)
	at org.nutz.mvc.impl.NutActionChain.doChain(NutActionChain.java:44)
	at org.nutz.mvc.impl.ActionInvoker.invoke(ActionInvoker.java:67)
	at org.nutz.mvc.ActionHandler.handle(ActionHandler.java:31)
	at org.nutz.mvc.NutFilter.doFilter(NutFilter.java:198)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
	at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
	at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
	at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
	at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
	at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
	at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
	at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
	at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
	at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2466)
	at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2455)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:745)

代码如下NutzTransactionInterceptor

/*
 *  Copyright 2013-2015 www.snakerflow.com.
 *  *
 *  * Licensed under the Apache License, Version 2.0 (the "License");
 *  * you may not use this file except in compliance with the License.
 *  * You may obtain a copy of the License at
 *  *
 *  *     http://www.apache.org/licenses/LICENSE-2.0
 *  *
 *  * Unless required by applicable law or agreed to in writing, software
 *  * distributed under the License is distributed on an "AS IS" BASIS,
 *  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  * See the License for the specific language governing permissions and
 *  * limitations under the License.
 *
 */

package org.snaker.nutz.access;

import java.sql.Connection;

import org.nutz.trans.Trans;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.snaker.engine.access.transaction.TransactionInterceptor;
import org.snaker.engine.access.transaction.TransactionStatus;

/**
 * Nutz事务拦截器
 * @author yuqs
 * @since 2.0
 */
public class NutzTransactionInterceptor extends TransactionInterceptor {
    private static final Logger log = LoggerFactory.getLogger(NutzTransactionInterceptor.class);
    public void initialize(Object accessObject) {
        //ignore
    }

    protected TransactionStatus getTransaction() {
        try {
            boolean isNew = false;
            if(Trans.get() == null) {
                Trans.begin(Connection.TRANSACTION_REPEATABLE_READ);
                isNew = true;
            }
            return new TransactionStatus(Trans.get(), isNew);
        } catch (Exception e) {
            log.error(e.getMessage(), e);
            throw new RuntimeException(e.getMessage(), e);
        }
    }

    protected void commit(TransactionStatus status) {
        try {
            Trans.commit();
        } catch (Exception e) {
            throw new RuntimeException(e.getMessage(), e);
        } finally {
            try {
                Trans.close();
            } catch (Exception e) {
                log.error(e.getMessage(), e);
                throw new RuntimeException(e.getMessage(), e);
            }
        }
    }

    protected void rollback(TransactionStatus status) {
        try {
            Trans.rollback();
        } catch (Exception e) {
            throw new RuntimeException(e.getMessage(), e);
        } finally {
            try {
                Trans.close();
            } catch (Exception e) {
                log.error(e.getMessage(), e);
                throw new RuntimeException(e.getMessage(), e);
            }
        }
    }
}

最简单的一个自定义流程
startAndExecute(processId, ShiroUtils.getUsername(), params).getId();
参数都是有值的,startAndExecute 的方式是这样的 engine也是有值的
public Order startAndExecute(String processId, String operator, Map<String, Object> args) {
Order order = engine.startInstanceById(processId, operator, args);
List tasks = engine.query().getActiveTasks(new QueryFilter().setOrderId(order.getId()));
List newTasks = new ArrayList();
if(tasks != null && tasks.size() > 0) {
Task task = tasks.get(0);
newTasks.addAll(engine.executeTask(task.getId(), operator, args));
}
return order;
}

27 回复

snaker已经停更了,用activiti吧

好不容易做到这一步了。。,没影响把,只要不总出问题就行了。。,这个用给的两个snaker例子没有问题 自定义的时候就有问题。

把aop拦截器去掉吧

aop拦截器去掉会不会导致事物出问题?

去掉以后没有报错 日志如下

2017-05-26 11:02:56,420 org.snaker.engine.core.ProcessService.getProcessById(ProcessService.java:110) DEBUG - obtain process[id=143e4f0b8da54483abe480d8a925242f] from cache.
2017-05-26 11:02:56,798 org.snaker.engine.access.jdbc.JdbcAccess.saveOrUpdate(JdbcAccess.java:167) DEBUG - 增删改数据(需手动提交事务)=
insert into wf_order (id,process_Id,creator,create_Time,parent_Id,parent_Node_Name,expire_Time,last_Update_Time,last_Updator,order_No,variable,version) values (?,?,?,?,?,?,?,?,?,?,?,?)
2017-05-26 11:02:56,808 org.snaker.engine.access.jdbc.JdbcAccess.saveOrUpdate(JdbcAccess.java:167) DEBUG - 增删改数据(需手动提交事务)=
insert into wf_hist_order (id,process_Id,order_State,creator,create_Time,end_Time,parent_Id,expire_Time,order_No,variable) values (?,?,?,?,?,?,?,?,?,?)
2017-05-26 11:02:56,810 org.snaker.engine.core.SnakerEngineImpl.execute(SnakerEngineImpl.java:274) DEBUG - 创建流程实例对象:Order(id=5828efa8c29c4a9c81e25509c134f344,processId=143e4f0b8da54483abe480d8a925242f,creator=superadmin,createTime2017-05-26 11:02:56,orderNo=20170526-11:02:56-534-244)
2017-05-26 11:02:56,815 org.snaker.engine.access.jdbc.JdbcAccess.saveOrUpdate(JdbcAccess.java:167) DEBUG - 增删改数据(需手动提交事务)=
insert into wf_task (id,order_Id,task_Name,display_Name,task_Type,perform_Type,operator,create_Time,finish_Time,expire_Time,action_Url,parent_Task_Id,variable,version) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?)
2017-05-26 11:02:56,818 org.snaker.engine.access.jdbc.JdbcAccess.saveOrUpdate(JdbcAccess.java:167) DEBUG - 增删改数据(需手动提交事务)=
insert into wf_task_actor (task_Id, actor_Id) values (?, ?)

最新的nutz吗?

这样吧, 把aop事务加上, 然后呢, 把org.snaker.nutz.access.NutzTransactionInterceptor换成一个空实现,不操作事务.

意思是在方法上加上事物?然后NutzTransactionInterceptor空实现,为什么会出这样的错误啊。

把Trans.DEBUG = true, 会输出事务的详细日志,看看有无线索

在startAndExecute中加嗎 感覺沒有變化捏

2017-05-26 11:53:52,892 org.nutz.mvc.impl.UrlMappingImpl.get(UrlMappingImpl.java:101) DEBUG - Found mapping for [POST] path=/platform/sys/form/submit : FormController.submit(FormController.java:197)
2017-05-26 11:53:52,893 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) DEBUG - Get 'permission'<class com.kanq.common.shiro.view.Permission>
2017-05-26 11:53:52,893 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) DEBUG - Get 'dateUtil'<class com.kanq.common.util.DateUtil>
2017-05-26 11:53:52,893 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) DEBUG - Get 'stringUtil'<class com.kanq.common.util.StringUtil>
2017-05-26 11:53:52,894 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) DEBUG - Get 'formController'<class com.kanq.modules.controllers.platform.sys.FormController>
2017-05-26 11:53:52,898 org.nutz.dao.impl.sql.run.NutDaoExecutor.printSQL(NutDaoExecutor.java:388) DEBUG - SELECT * FROM sys_field  WHERE formId=?
    |                                1 |
    |----------------------------------|
    | 61f2fd42ca1b4685baafd6f23c745963 |
  For example:> "SELECT * FROM sys_field  WHERE formId='61f2fd42ca1b4685baafd6f23c745963'"
2017-05-26 11:53:52,900 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=startInstanceById]
2017-05-26 11:53:52,901 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=process]
2017-05-26 11:53:52,901 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=getProcessById]
2017-05-26 11:53:52,901 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=ensureNameCache]
2017-05-26 11:53:52,901 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=ensureEntityCache]
2017-05-26 11:53:52,901 org.snaker.engine.core.ProcessService.getProcessById(ProcessService.java:110) DEBUG - obtain process[id=143e4f0b8da54483abe480d8a925242f] from cache.
2017-05-26 11:53:52,901 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=process]
2017-05-26 11:53:52,901 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=check]
2017-05-26 11:53:52,902 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=order]
2017-05-26 11:53:52,902 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=createOrder]
2017-05-26 11:53:53,279 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=saveOrder]
2017-05-26 11:53:53,279 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=access]
2017-05-26 11:53:53,279 org.snaker.engine.access.jdbc.JdbcAccess.saveOrUpdate(JdbcAccess.java:167) DEBUG - 增删改数据(需手动提交事务)=
insert into wf_order (id,process_Id,creator,create_Time,parent_Id,parent_Node_Name,expire_Time,last_Update_Time,last_Updator,order_No,variable,version) values (?,?,?,?,?,?,?,?,?,?,?,?)
2017-05-26 11:53:53,288 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=access]
2017-05-26 11:53:53,289 org.snaker.engine.access.jdbc.JdbcAccess.saveOrUpdate(JdbcAccess.java:167) DEBUG - 增删改数据(需手动提交事务)=
insert into wf_hist_order (id,process_Id,order_State,creator,create_Time,end_Time,parent_Id,expire_Time,order_No,variable) values (?,?,?,?,?,?,?,?,?,?)
2017-05-26 11:53:53,293 org.snaker.engine.core.SnakerEngineImpl.execute(SnakerEngineImpl.java:274) DEBUG - 创建流程实例对象:Order(id=7ef4d301e9db407fb3bbef8887f1f7e6,processId=143e4f0b8da54483abe480d8a925242f,creator=superadmin,createTime2017-05-26 11:53:52,orderNo=20170526-11:53:53-003-758)
2017-05-26 11:53:53,294 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=task]
2017-05-26 11:53:53,295 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=createTask]
2017-05-26 11:53:53,301 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=access]
2017-05-26 11:53:53,301 org.snaker.engine.access.jdbc.JdbcAccess.saveOrUpdate(JdbcAccess.java:167) DEBUG - 增删改数据(需手动提交事务)=
insert into wf_task (id,order_Id,task_Name,display_Name,task_Type,perform_Type,operator,create_Time,finish_Time,expire_Time,action_Url,parent_Task_Id,variable,version) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?)
2017-05-26 11:53:53,305 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=access]
2017-05-26 11:53:53,305 org.snaker.engine.access.jdbc.JdbcAccess.saveOrUpdate(JdbcAccess.java:167) DEBUG - 增删改数据(需手动提交事务)=
insert into wf_task_actor (task_Id, actor_Id) values (?, ?)
2017-05-26 11:53:53,309 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=manager]
2017-05-26 11:53:53,310 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=getSurrogate]
2017-05-26 11:53:53,312 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=getSurrogate]
2017-05-26 11:53:53,312 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=access]
2017-05-26 11:53:53,312 org.snaker.engine.access.jdbc.JdbcAccess.queryList(JdbcAccess.java:193) DEBUG - 查询多条记录=
select id, process_Name, operator, surrogate, odate, sdate, edate, state from wf_surrogate where 1=1 and state = 1  and process_Name in(?)  and operator in (?)  and sdate <= ? and edate >= ?  order by sdate desc 
2017-05-26 11:53:53,317 com.kanq.snakerflow.SnakerLogInterceptor.intercept(SnakerLogInterceptor.java:30) INFO  - 创建任务[标识=5a857c88b4f043b0945df2e74484987a,名称=借款申请,创建时间=2017-05-26 11:53:53,参与者={apply.operator}]
2017-05-26 11:53:53,318 com.kanq.snakerflow.SnakerAssignInterceptor.intercept(SnakerAssignInterceptor.java:12) DEBUG - SnakerAssignInterceptor >>> 
2017-05-26 11:53:53,318 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=query]
2017-05-26 11:53:53,318 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=getActiveTasks]
2017-05-26 11:53:53,318 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=access]
2017-05-26 11:53:53,318 org.snaker.engine.access.jdbc.JdbcAccess.queryList(JdbcAccess.java:193) DEBUG - 查询多条记录=
select id,order_Id,task_Name,display_Name,task_Type,perform_Type,operator,create_Time,finish_Time,expire_Time,action_Url,parent_Task_Id,variable, version from wf_task  where 1=1  and order_Id = ?  order by create_Time desc 
2017-05-26 11:53:53,323 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=executeTask]
2017-05-26 11:53:53,324 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=task]
2017-05-26 11:53:53,324 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=complete]
2017-05-26 11:53:53,324 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=access]
2017-05-26 11:53:53,324 org.snaker.engine.access.jdbc.JdbcAccess.queryObject(JdbcAccess.java:180) DEBUG - 查询单条记录=
select id,order_Id,task_Name,display_Name,task_Type,perform_Type,operator,create_Time,finish_Time,expire_Time,action_Url,parent_Task_Id,variable, version from wf_task  where id = ?
2017-05-26 11:53:53,327 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=isAllowed]
2017-05-26 11:53:53,327 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=access]
2017-05-26 11:53:53,327 org.snaker.engine.access.jdbc.JdbcAccess.queryList(JdbcAccess.java:193) DEBUG - 查询多条记录=
select task_Id, actor_Id from wf_task_actor  where task_Id = ?
2017-05-26 11:53:53,331 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=getStrategy]
2017-05-26 11:53:53,331 org.snaker.engine.core.ServiceContext.put(ServiceContext.java:93) INFO  - put new instance[name=org.snaker.engine.TaskAccessStrategy][clazz=org.snaker.engine.impl.GeneralAccessStrategy]
2017-05-26 11:53:53,331 org.nutz.trans.Trans._rollback(Trans.java:107) DEBUG - Transaction rollback id=10, count=0
2017-05-26 11:53:53,333 org.nutz.trans.Trans._depose(Trans.java:92) DEBUG - Transaction depose id=10, count=0
2017-05-26 11:53:53,336 org.snaker.nutz.access.NutzTransactionInterceptor.rollback(NutzTransactionInterceptor.java:77) ERROR - 
java.lang.NullPointerException
	at org.nutz.trans.Trans._depose(Trans.java:92)
	at org.nutz.trans.Trans.close(Trans.java:255)
	at org.snaker.nutz.access.NutzTransactionInterceptor.rollback(NutzTransactionInterceptor.java:75)
	at org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:97)
	at org.snaker.engine.core.SnakerEngineImpl$$EnhancerByCGLIB$$a5980ba8.executeTask(<generated>)
	at com.kanq.modules.controllers.platform.workflow.SnakerController.startAndExecute(SnakerController.java:156)
	at com.kanq.modules.controllers.platform.sys.FormController.submit(FormController.java:228)
	at com.kanq.modules.controllers.platform.sys.FormController$$NUTZAOP._aop_invoke(FormController.java:2)
	at org.nutz.aop.InterceptorChain.invoke(InterceptorChain.java:77)
	at org.nutz.aop.InterceptorChain.doChain(InterceptorChain.java:57)
	at org.nutz.aop.interceptor.TransactionInterceptor.filter(TransactionInterceptor.java:34)
	at org.nutz.aop.InterceptorChain.doChain(InterceptorChain.java:60)
	at com.kanq.modules.controllers.platform.sys.FormController$$NUTZAOP.submit(FormController.java:1)
	at com.kanq.modules.controllers.platform.sys.FormController$$FASTCLASS._invoke(FormController.java:1)
	at org.nutz.lang.reflect.AbstractFastClass.invoke(AbstractFastClass.java:143)
	at org.nutz.lang.reflect.FastClassFactory.invoke(FastClassFactory.java:67)
	at org.nutz.mvc.impl.processor.MethodInvokeProcessor.process(MethodInvokeProcessor.java:27)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.AdaptorProcessor.process(AdaptorProcessor.java:33)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.ActionFiltersProcessor.process(ActionFiltersProcessor.java:58)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at com.kanq.common.processor.XssSqlFilterProcessor.process(XssSqlFilterProcessor.java:33)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at com.kanq.common.processor.NutShiroProcessor.process(NutShiroProcessor.java:49)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.ModuleProcessor.process(ModuleProcessor.java:123)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.EncodingProcessor.process(EncodingProcessor.java:27)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.UpdateRequestAttributesProcessor.process(UpdateRequestAttributesProcessor.java:15)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at com.kanq.common.processor.GlobalsSettingProcessor.process(GlobalsSettingProcessor.java:33)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at com.kanq.common.processor.LogTimeProcessor.process(LogTimeProcessor.java:21)
	at org.nutz.mvc.impl.NutActionChain.doChain(NutActionChain.java:44)
	at org.nutz.mvc.impl.ActionInvoker.invoke(ActionInvoker.java:67)
	at org.nutz.mvc.ActionHandler.handle(ActionHandler.java:31)
	at org.nutz.mvc.NutFilter.doFilter(NutFilter.java:198)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
	at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
	at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
	at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
	at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
	at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
	at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
	at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
	at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
	at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2466)
	at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2455)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:745)
2017-05-26 11:53:53,338 com.kanq.common.processor.LogTimeProcessor.process(LogTimeProcessor.java:26) DEBUG - [POST]URI=/cms/platform/sys/form/submit 445ms
2017-05-26 11:53:53,338 org.nutz.mvc.impl.processor.FailProcessor.process(FailProcessor.java:28) WARN  - Error@/platform/sys/form/submit :
java.lang.NullPointerException
	at org.nutz.trans.Trans._depose(Trans.java:92)
	at org.nutz.trans.Trans.close(Trans.java:255)
	at org.nutz.aop.interceptor.TransactionInterceptor.filter(TransactionInterceptor.java:41)
	at org.nutz.aop.InterceptorChain.doChain(InterceptorChain.java:60)
	at com.kanq.modules.controllers.platform.sys.FormController$$NUTZAOP.submit(FormController.java:1)
	at com.kanq.modules.controllers.platform.sys.FormController$$FASTCLASS._invoke(FormController.java:1)
	at org.nutz.lang.reflect.AbstractFastClass.invoke(AbstractFastClass.java:143)
	at org.nutz.lang.reflect.FastClassFactory.invoke(FastClassFactory.java:67)
	at org.nutz.mvc.impl.processor.MethodInvokeProcessor.process(MethodInvokeProcessor.java:27)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.AdaptorProcessor.process(AdaptorProcessor.java:33)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.ActionFiltersProcessor.process(ActionFiltersProcessor.java:58)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at com.kanq.common.processor.XssSqlFilterProcessor.process(XssSqlFilterProcessor.java:33)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at com.kanq.common.processor.NutShiroProcessor.process(NutShiroProcessor.java:49)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.ModuleProcessor.process(ModuleProcessor.java:123)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.EncodingProcessor.process(EncodingProcessor.java:27)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.UpdateRequestAttributesProcessor.process(UpdateRequestAttributesProcessor.java:15)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at com.kanq.common.processor.GlobalsSettingProcessor.process(GlobalsSettingProcessor.java:33)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at com.kanq.common.processor.LogTimeProcessor.process(LogTimeProcessor.java:21)
	at org.nutz.mvc.impl.NutActionChain.doChain(NutActionChain.java:44)
	at org.nutz.mvc.impl.ActionInvoker.invoke(ActionInvoker.java:67)
	at org.nutz.mvc.ActionHandler.handle(ActionHandler.java:31)
	at org.nutz.mvc.NutFilter.doFilter(NutFilter.java:198)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
	at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
	at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
	at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
	at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
	at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
	at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
	at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
	at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
	at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2466)
	at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2455)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:745)

在MainSetup里面加, 这是调试开关, 要报错的依然会报错的.

这是打开调试开关之后的,貌似没看出来。

2017-05-26 13:39:28,312 org.nutz.mvc.impl.UrlMappingImpl.get(UrlMappingImpl.java:101) DEBUG - Found mapping for [POST] path=/platform/sys/form/submit : FormController.submit(FormController.java:197)
2017-05-26 13:39:28,313 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) DEBUG - Get 'permission'<class com.kanq.common.shiro.view.Permission>
2017-05-26 13:39:28,313 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) DEBUG - Get 'dateUtil'<class com.kanq.common.util.DateUtil>
2017-05-26 13:39:28,313 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) DEBUG - Get 'stringUtil'<class com.kanq.common.util.StringUtil>
2017-05-26 13:39:28,313 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) DEBUG - Get 'formController'<class com.kanq.modules.controllers.platform.sys.FormController>
2017-05-26 13:39:28,315 org.nutz.trans.Trans._begain(Trans.java:63) DEBUG - Start New Transaction id=3, level=2
2017-05-26 13:39:28,316 org.nutz.trans.Trans._begain(Trans.java:66) DEBUG - Attach Transaction    id=3, level=2
2017-05-26 13:39:28,317 org.nutz.dao.impl.sql.run.NutDaoExecutor.printSQL(NutDaoExecutor.java:388) DEBUG - SELECT * FROM sys_field  WHERE formId=?
    |                                1 |
    |----------------------------------|
    | 61f2fd42ca1b4685baafd6f23c745963 |
  For example:> "SELECT * FROM sys_field  WHERE formId='61f2fd42ca1b4685baafd6f23c745963'"
2017-05-26 13:39:28,320 org.nutz.trans.Trans._commit(Trans.java:84) DEBUG - Transaction delay Commit id=3, count=1
2017-05-26 13:39:28,321 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=startInstanceById]
2017-05-26 13:39:28,321 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=process]
2017-05-26 13:39:28,321 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=getProcessById]
2017-05-26 13:39:28,321 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=ensureNameCache]
2017-05-26 13:39:28,321 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=ensureEntityCache]
2017-05-26 13:39:28,322 org.snaker.engine.core.ProcessService.getProcessById(ProcessService.java:110) DEBUG - obtain process[id=143e4f0b8da54483abe480d8a925242f] from cache.
2017-05-26 13:39:28,322 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=process]
2017-05-26 13:39:28,322 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=check]
2017-05-26 13:39:28,322 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=order]
2017-05-26 13:39:28,322 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=createOrder]
2017-05-26 13:39:28,737 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=saveOrder]
2017-05-26 13:39:28,737 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=access]
2017-05-26 13:39:28,738 org.snaker.engine.access.jdbc.JdbcAccess.saveOrUpdate(JdbcAccess.java:167) DEBUG - 增删改数据(需手动提交事务)=
insert into wf_order (id,process_Id,creator,create_Time,parent_Id,parent_Node_Name,expire_Time,last_Update_Time,last_Updator,order_No,variable,version) values (?,?,?,?,?,?,?,?,?,?,?,?)
2017-05-26 13:39:28,746 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=access]
2017-05-26 13:39:28,746 org.snaker.engine.access.jdbc.JdbcAccess.saveOrUpdate(JdbcAccess.java:167) DEBUG - 增删改数据(需手动提交事务)=
insert into wf_hist_order (id,process_Id,order_State,creator,create_Time,end_Time,parent_Id,expire_Time,order_No,variable) values (?,?,?,?,?,?,?,?,?,?)
2017-05-26 13:39:28,750 org.snaker.engine.core.SnakerEngineImpl.execute(SnakerEngineImpl.java:274) DEBUG - 创建流程实例对象:Order(id=d744a3eef6064d73bf3e743f4a1fa65a,processId=143e4f0b8da54483abe480d8a925242f,creator=superadmin,createTime2017-05-26 13:39:28,orderNo=20170526-13:39:28-419-321)
2017-05-26 13:39:28,752 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=task]
2017-05-26 13:39:28,752 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=createTask]
2017-05-26 13:39:28,761 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=access]
2017-05-26 13:39:28,762 org.snaker.engine.access.jdbc.JdbcAccess.saveOrUpdate(JdbcAccess.java:167) DEBUG - 增删改数据(需手动提交事务)=
insert into wf_task (id,order_Id,task_Name,display_Name,task_Type,perform_Type,operator,create_Time,finish_Time,expire_Time,action_Url,parent_Task_Id,variable,version) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?)
2017-05-26 13:39:28,765 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=access]
2017-05-26 13:39:28,766 org.snaker.engine.access.jdbc.JdbcAccess.saveOrUpdate(JdbcAccess.java:167) DEBUG - 增删改数据(需手动提交事务)=
insert into wf_task_actor (task_Id, actor_Id) values (?, ?)
2017-05-26 13:39:28,769 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=manager]
2017-05-26 13:39:28,769 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=getSurrogate]
2017-05-26 13:39:28,772 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=getSurrogate]
2017-05-26 13:39:28,772 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=access]
2017-05-26 13:39:28,772 org.snaker.engine.access.jdbc.JdbcAccess.queryList(JdbcAccess.java:193) DEBUG - 查询多条记录=
select id, process_Name, operator, surrogate, odate, sdate, edate, state from wf_surrogate where 1=1 and state = 1  and process_Name in(?)  and operator in (?)  and sdate <= ? and edate >= ?  order by sdate desc 
2017-05-26 13:39:28,776 com.kanq.snakerflow.SnakerLogInterceptor.intercept(SnakerLogInterceptor.java:30) INFO  - 创建任务[标识=a0565687cfd84f07a376e2434ecd43ea,名称=借款申请,创建时间=2017-05-26 13:39:28,参与者={apply.operator}]
2017-05-26 13:39:28,777 com.kanq.snakerflow.SnakerAssignInterceptor.intercept(SnakerAssignInterceptor.java:12) DEBUG - SnakerAssignInterceptor >>> 
2017-05-26 13:39:28,777 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=query]
2017-05-26 13:39:28,777 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=getActiveTasks]
2017-05-26 13:39:28,780 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=access]
2017-05-26 13:39:28,780 org.snaker.engine.access.jdbc.JdbcAccess.queryList(JdbcAccess.java:193) DEBUG - 查询多条记录=
select id,order_Id,task_Name,display_Name,task_Type,perform_Type,operator,create_Time,finish_Time,expire_Time,action_Url,parent_Task_Id,variable, version from wf_task  where 1=1  and order_Id = ?  order by create_Time desc 
2017-05-26 13:39:28,785 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=executeTask]
2017-05-26 13:39:28,786 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=task]
2017-05-26 13:39:28,786 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=complete]
2017-05-26 13:39:28,786 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=access]
2017-05-26 13:39:28,786 org.snaker.engine.access.jdbc.JdbcAccess.queryObject(JdbcAccess.java:180) DEBUG - 查询单条记录=
select id,order_Id,task_Name,display_Name,task_Type,perform_Type,operator,create_Time,finish_Time,expire_Time,action_Url,parent_Task_Id,variable, version from wf_task  where id = ?
2017-05-26 13:39:28,788 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=isAllowed]
2017-05-26 13:39:28,789 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=access]
2017-05-26 13:39:28,789 org.snaker.engine.access.jdbc.JdbcAccess.queryList(JdbcAccess.java:193) DEBUG - 查询多条记录=
select task_Id, actor_Id from wf_task_actor  where task_Id = ?
2017-05-26 13:39:28,793 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=getStrategy]
2017-05-26 13:39:28,793 org.snaker.engine.core.ServiceContext.put(ServiceContext.java:93) INFO  - put new instance[name=org.snaker.engine.TaskAccessStrategy][clazz=org.snaker.engine.impl.GeneralAccessStrategy]
2017-05-26 13:39:28,794 org.nutz.trans.Trans._rollback(Trans.java:107) DEBUG - Transaction rollback id=3, count=0
2017-05-26 13:39:28,797 org.nutz.trans.Trans._depose(Trans.java:92) DEBUG - Transaction depose id=3, count=0
2017-05-26 13:39:28,799 org.snaker.nutz.access.NutzTransactionInterceptor.rollback(NutzTransactionInterceptor.java:77) ERROR - 
java.lang.NullPointerException
	at org.nutz.trans.Trans._depose(Trans.java:92)
	at org.nutz.trans.Trans.close(Trans.java:255)
	at org.snaker.nutz.access.NutzTransactionInterceptor.rollback(NutzTransactionInterceptor.java:75)
	at org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:97)
	at org.snaker.engine.core.SnakerEngineImpl$$EnhancerByCGLIB$$70b3f91f.executeTask(<generated>)
	at com.kanq.modules.controllers.platform.workflow.SnakerController.startAndExecute(SnakerController.java:155)
	at com.kanq.modules.controllers.platform.sys.FormController.submit(FormController.java:228)
	at com.kanq.modules.controllers.platform.sys.FormController$$NUTZAOP._aop_invoke(FormController.java:4)
	at org.nutz.aop.InterceptorChain.invoke(InterceptorChain.java:77)
	at org.nutz.aop.InterceptorChain.doChain(InterceptorChain.java:57)
	at org.nutz.aop.interceptor.TransactionInterceptor.filter(TransactionInterceptor.java:34)
	at org.nutz.aop.InterceptorChain.doChain(InterceptorChain.java:60)
	at com.kanq.modules.controllers.platform.sys.FormController$$NUTZAOP.submit(FormController.java:1)
	at com.kanq.modules.controllers.platform.sys.FormController$$FASTCLASS._invoke(FormController.java:1)
	at org.nutz.lang.reflect.AbstractFastClass.invoke(AbstractFastClass.java:143)
	at org.nutz.lang.reflect.FastClassFactory.invoke(FastClassFactory.java:67)
	at org.nutz.mvc.impl.processor.MethodInvokeProcessor.process(MethodInvokeProcessor.java:27)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.AdaptorProcessor.process(AdaptorProcessor.java:33)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.ActionFiltersProcessor.process(ActionFiltersProcessor.java:58)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at com.kanq.common.processor.XssSqlFilterProcessor.process(XssSqlFilterProcessor.java:33)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at com.kanq.common.processor.NutShiroProcessor.process(NutShiroProcessor.java:49)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.ModuleProcessor.process(ModuleProcessor.java:123)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.EncodingProcessor.process(EncodingProcessor.java:27)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.UpdateRequestAttributesProcessor.process(UpdateRequestAttributesProcessor.java:15)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at com.kanq.common.processor.GlobalsSettingProcessor.process(GlobalsSettingProcessor.java:33)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at com.kanq.common.processor.LogTimeProcessor.process(LogTimeProcessor.java:21)
	at org.nutz.mvc.impl.NutActionChain.doChain(NutActionChain.java:44)
	at org.nutz.mvc.impl.ActionInvoker.invoke(ActionInvoker.java:67)
	at org.nutz.mvc.ActionHandler.handle(ActionHandler.java:31)
	at org.nutz.mvc.NutFilter.doFilter(NutFilter.java:198)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
	at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
	at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
	at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
	at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
	at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
	at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
	at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
	at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
	at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2466)
	at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2455)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:745)
2017-05-26 13:39:28,801 com.kanq.common.processor.LogTimeProcessor.process(LogTimeProcessor.java:26) DEBUG - [POST]URI=/cms/platform/sys/form/submit 489ms
2017-05-26 13:39:28,802 org.nutz.mvc.impl.processor.FailProcessor.process(FailProcessor.java:28) WARN  - Error@/platform/sys/form/submit :
java.lang.NullPointerException
	at org.nutz.trans.Trans._depose(Trans.java:92)
	at org.nutz.trans.Trans.close(Trans.java:255)
	at org.nutz.aop.interceptor.TransactionInterceptor.filter(TransactionInterceptor.java:41)
	at org.nutz.aop.InterceptorChain.doChain(InterceptorChain.java:60)
	at com.kanq.modules.controllers.platform.sys.FormController$$NUTZAOP.submit(FormController.java:1)
	at com.kanq.modules.controllers.platform.sys.FormController$$FASTCLASS._invoke(FormController.java:1)
	at org.nutz.lang.reflect.AbstractFastClass.invoke(AbstractFastClass.java:143)
	at org.nutz.lang.reflect.FastClassFactory.invoke(FastClassFactory.java:67)
	at org.nutz.mvc.impl.processor.MethodInvokeProcessor.process(MethodInvokeProcessor.java:27)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.AdaptorProcessor.process(AdaptorProcessor.java:33)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.ActionFiltersProcessor.process(ActionFiltersProcessor.java:58)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at com.kanq.common.processor.XssSqlFilterProcessor.process(XssSqlFilterProcessor.java:33)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at com.kanq.common.processor.NutShiroProcessor.process(NutShiroProcessor.java:49)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.ModuleProcessor.process(ModuleProcessor.java:123)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.EncodingProcessor.process(EncodingProcessor.java:27)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.UpdateRequestAttributesProcessor.process(UpdateRequestAttributesProcessor.java:15)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at com.kanq.common.processor.GlobalsSettingProcessor.process(GlobalsSettingProcessor.java:33)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at com.kanq.common.processor.LogTimeProcessor.process(LogTimeProcessor.java:21)
	at org.nutz.mvc.impl.NutActionChain.doChain(NutActionChain.java:44)
	at org.nutz.mvc.impl.ActionInvoker.invoke(ActionInvoker.java:67)
	at org.nutz.mvc.ActionHandler.handle(ActionHandler.java:31)
	at org.nutz.mvc.NutFilter.doFilter(NutFilter.java:198)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
	at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
	at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
	at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
	at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
	at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
	at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
	at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
	at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
	at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2466)
	at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2455)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:745)

这个是点击提交表单以后到的方法,进入的是orderId = startAndExecute(processId, ShiroUtils.getUsername(), params).getId();

@At("/submit")
	@Ok("re")
	@Aop(TransAop.READ_COMMITTED)
	public String submit(@Param("processId") String processId,@Param("orderId") String orderId,@Param("taskId") String taskId,@Param("formId") String formId,
						 @Param("method") int method,@Param("nextOperator") String nextOperator,@Param("nodeName") String nodeName,HttpServletRequest req){
		List<Field> fields = formService.dao().query(Field.class, Cnd.where("formId","=",formId));
		Map<String, Object> params = new HashMap<String, Object>();
		for(Field field : fields) {
			if("1".equals(field.getFlow())) {
				String name = field.getName();
				String type = field.getType();
				String paraValue = req.getParameter(name);
				Object value = null;
				if("text".equalsIgnoreCase(type)) {
					value = paraValue;
				} else if("int".equalsIgnoreCase(type)) {
					value = Integer.parseInt(paraValue);
				} else if("float".equalsIgnoreCase(type)) {
					if(paraValue == null || "".equals(paraValue)) {
						value = 0.0;
					} else {
						try {
							value = Double.parseDouble(paraValue);
						} catch(Exception e) {
							value = 0.0;
						}
					}
				} else {
					value = paraValue;
				}
				params.put(name, value);
			}
		}

		if(!Strings.isBlank(processId)) {
			if (Strings.isBlank(orderId) && Strings.isBlank(taskId)) {
				orderId = startAndExecute(processId, ShiroUtils.getUsername(), params).getId();
			} else {
				switch(method) {
				case 0://任务执行
					execute(taskId, ShiroUtils.getUsername(), params);
					break;
				case -1://驳回、任意跳转
					executeAndJump(taskId, ShiroUtils.getUsername(), params,nodeName);
					break;
				case 1://转办
					if(StringUtils.isNotEmpty(nextOperator)) {
						transferMajor(taskId, ShiroUtils.getUsername(), nextOperator.split(","));
					}
					break;
				case 2://协办
					if(StringUtils.isNotEmpty(nextOperator)) {
						transferAidant(taskId, ShiroUtils.getUsername(), nextOperator.split(","));
					}
					break;
				default:
					execute(taskId, ShiroUtils.getUsername(), params);
					break;
				}
			}
		}

		Form model = formService.fetch(formId);
		Map<String, String[]> paraMap = req.getParameterMap();
		formService.submit(model, fields, paraMap, orderId, taskId);
		if(StringUtils.isNotEmpty(processId)) {
			return redirectActiveTask();
		} else {
			return "redirect:/platform/sys/form";
		}
	}

打开调试开关之后贴日志看看

开了啊 。。。。。。。

然后贴啊,是mainsetup里面调用Trans.DEBUG = true;

贴啦啊 是在mainsetup中打开的啊
不是多了
2017-05-26 13:39:28,315 org.nutz.trans.Trans._begain(Trans.java:63) DEBUG - Start New Transaction id=3, level=2
2017-05-26 13:39:28,316 org.nutz.trans.Trans._begain(Trans.java:66) DEBUG - Attach Transaction id=3, level=2吗。

2017-05-26 14:05:50,737 org.nutz.mvc.impl.UrlMappingImpl.get(UrlMappingImpl.java:101) DEBUG - Found mapping for [POST] path=/platform/sys/form/submit : FormController.submit(FormController.java:197)
2017-05-26 14:05:50,737 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) DEBUG - Get 'permission'<class com.kanq.common.shiro.view.Permission>
2017-05-26 14:05:50,737 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) DEBUG - Get 'dateUtil'<class com.kanq.common.util.DateUtil>
2017-05-26 14:05:50,737 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) DEBUG - Get 'stringUtil'<class com.kanq.common.util.StringUtil>
2017-05-26 14:05:50,738 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) DEBUG - Get 'formController'<class com.kanq.modules.controllers.platform.sys.FormController>
2017-05-26 14:05:50,738 org.nutz.trans.Trans._begain(Trans.java:63) DEBUG - Start New Transaction id=8, level=2
2017-05-26 14:05:50,738 org.nutz.trans.Trans._begain(Trans.java:66) DEBUG - Attach Transaction    id=8, level=2
2017-05-26 14:05:50,739 org.nutz.dao.impl.sql.run.NutDaoExecutor.printSQL(NutDaoExecutor.java:388) DEBUG - SELECT * FROM sys_field  WHERE formId=?
    |                                1 |
    |----------------------------------|
    | 61f2fd42ca1b4685baafd6f23c745963 |
  For example:> "SELECT * FROM sys_field  WHERE formId='61f2fd42ca1b4685baafd6f23c745963'"
2017-05-26 14:05:50,741 org.nutz.trans.Trans._commit(Trans.java:84) DEBUG - Transaction delay Commit id=8, count=1
2017-05-26 14:05:56,915 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=startInstanceById]
2017-05-26 14:06:02,747 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=process]
2017-05-26 14:06:03,083 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=getProcessById]
2017-05-26 14:06:03,740 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=ensureNameCache]
2017-05-26 14:06:03,947 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=ensureEntityCache]
2017-05-26 14:06:03,948 org.snaker.engine.core.ProcessService.getProcessById(ProcessService.java:110) DEBUG - obtain process[id=143e4f0b8da54483abe480d8a925242f] from cache.
2017-05-26 14:06:04,124 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=process]
2017-05-26 14:06:04,483 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=check]
2017-05-26 14:06:04,661 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=order]
2017-05-26 14:06:04,796 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=createOrder]
2017-05-26 14:06:05,084 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=saveOrder]
2017-05-26 14:06:05,411 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=access]
2017-05-26 14:06:05,412 org.snaker.engine.access.jdbc.JdbcAccess.saveOrUpdate(JdbcAccess.java:167) DEBUG - 增删改数据(需手动提交事务)=
insert into wf_order (id,process_Id,creator,create_Time,parent_Id,parent_Node_Name,expire_Time,last_Update_Time,last_Updator,order_No,variable,version) values (?,?,?,?,?,?,?,?,?,?,?,?)
2017-05-26 14:06:05,724 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=access]
2017-05-26 14:06:05,724 org.snaker.engine.access.jdbc.JdbcAccess.saveOrUpdate(JdbcAccess.java:167) DEBUG - 增删改数据(需手动提交事务)=
insert into wf_hist_order (id,process_Id,order_State,creator,create_Time,end_Time,parent_Id,expire_Time,order_No,variable) values (?,?,?,?,?,?,?,?,?,?)
2017-05-26 14:06:05,728 org.snaker.engine.core.SnakerEngineImpl.execute(SnakerEngineImpl.java:274) DEBUG - 创建流程实例对象:Order(id=2c2fc9ec3f3345daa01bb4e6c31e8cc0,processId=143e4f0b8da54483abe480d8a925242f,creator=superadmin,createTime2017-05-26 14:06:04,orderNo=20170526-14:06:04-940-677)
2017-05-26 14:06:05,942 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=task]
2017-05-26 14:06:06,092 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=createTask]
2017-05-26 14:06:06,419 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=access]
2017-05-26 14:06:06,419 org.snaker.engine.access.jdbc.JdbcAccess.saveOrUpdate(JdbcAccess.java:167) DEBUG - 增删改数据(需手动提交事务)=
insert into wf_task (id,order_Id,task_Name,display_Name,task_Type,perform_Type,operator,create_Time,finish_Time,expire_Time,action_Url,parent_Task_Id,variable,version) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?)
2017-05-26 14:06:06,588 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=access]
2017-05-26 14:06:06,589 org.snaker.engine.access.jdbc.JdbcAccess.saveOrUpdate(JdbcAccess.java:167) DEBUG - 增删改数据(需手动提交事务)=
insert into wf_task_actor (task_Id, actor_Id) values (?, ?)
2017-05-26 14:06:06,790 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=manager]
2017-05-26 14:06:07,100 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=getSurrogate]
2017-05-26 14:06:07,451 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=getSurrogate]
2017-05-26 14:06:07,804 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=access]
2017-05-26 14:06:07,805 org.snaker.engine.access.jdbc.JdbcAccess.queryList(JdbcAccess.java:193) DEBUG - 查询多条记录=
select id, process_Name, operator, surrogate, odate, sdate, edate, state from wf_surrogate where 1=1 and state = 1  and process_Name in(?)  and operator in (?)  and sdate <= ? and edate >= ?  order by sdate desc 
2017-05-26 14:06:07,808 com.kanq.snakerflow.SnakerLogInterceptor.intercept(SnakerLogInterceptor.java:30) INFO  - 创建任务[标识=44d96204d87c4a038cf5d4bcea5e62a7,名称=借款申请,创建时间=2017-05-26 14:06:06,参与者={apply.operator}]
2017-05-26 14:06:07,809 com.kanq.snakerflow.SnakerAssignInterceptor.intercept(SnakerAssignInterceptor.java:12) DEBUG - SnakerAssignInterceptor >>> 
2017-05-26 14:06:07,972 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=query]
2017-05-26 14:06:08,132 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=getActiveTasks]
2017-05-26 14:06:08,484 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=access]
2017-05-26 14:06:08,485 org.snaker.engine.access.jdbc.JdbcAccess.queryList(JdbcAccess.java:193) DEBUG - 查询多条记录=
select id,order_Id,task_Name,display_Name,task_Type,perform_Type,operator,create_Time,finish_Time,expire_Time,action_Url,parent_Task_Id,variable, version from wf_task  where 1=1  and order_Id = ?  order by create_Time desc 
2017-05-26 14:06:08,669 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=executeTask]
2017-05-26 14:06:08,971 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=task]
2017-05-26 14:06:09,155 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=complete]
2017-05-26 14:06:15,999 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=access]
2017-05-26 14:06:16,000 org.snaker.engine.access.jdbc.JdbcAccess.queryObject(JdbcAccess.java:180) DEBUG - 查询单条记录=
select id,order_Id,task_Name,display_Name,task_Type,perform_Type,operator,create_Time,finish_Time,expire_Time,action_Url,parent_Task_Id,variable, version from wf_task  where id = ?
2017-05-26 14:06:16,003 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=isAllowed]
2017-05-26 14:06:16,003 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=access]
2017-05-26 14:06:16,003 org.snaker.engine.access.jdbc.JdbcAccess.queryList(JdbcAccess.java:193) DEBUG - 查询多条记录=
select task_Id, actor_Id from wf_task_actor  where task_Id = ?
2017-05-26 14:06:16,005 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=getStrategy]
2017-05-26 14:06:16,005 org.nutz.trans.Trans._rollback(Trans.java:107) DEBUG - Transaction rollback id=8, count=0
2017-05-26 14:06:16,014 org.nutz.trans.Trans._depose(Trans.java:92) DEBUG - Transaction depose id=8, count=0
2017-05-26 14:06:16,015 org.snaker.nutz.access.NutzTransactionInterceptor.rollback(NutzTransactionInterceptor.java:77) ERROR - 
java.lang.NullPointerException
	at org.nutz.trans.Trans._depose(Trans.java:92)
	at org.nutz.trans.Trans.close(Trans.java:255)
	at org.snaker.nutz.access.NutzTransactionInterceptor.rollback(NutzTransactionInterceptor.java:75)
	at org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:97)
	at org.snaker.engine.core.SnakerEngineImpl$$EnhancerByCGLIB$$70b3f91f.executeTask(<generated>)
	at com.kanq.modules.controllers.platform.workflow.SnakerController.startAndExecute(SnakerController.java:155)
	at com.kanq.modules.controllers.platform.sys.FormController.submit(FormController.java:228)
	at com.kanq.modules.controllers.platform.sys.FormController$$NUTZAOP._aop_invoke(FormController.java:4)
	at org.nutz.aop.InterceptorChain.invoke(InterceptorChain.java:77)
	at org.nutz.aop.InterceptorChain.doChain(InterceptorChain.java:57)
	at org.nutz.aop.interceptor.TransactionInterceptor.filter(TransactionInterceptor.java:34)
	at org.nutz.aop.InterceptorChain.doChain(InterceptorChain.java:60)
	at com.kanq.modules.controllers.platform.sys.FormController$$NUTZAOP.submit(FormController.java:1)
	at com.kanq.modules.controllers.platform.sys.FormController$$FASTCLASS._invoke(FormController.java:1)
	at org.nutz.lang.reflect.AbstractFastClass.invoke(AbstractFastClass.java:143)
	at org.nutz.lang.reflect.FastClassFactory.invoke(FastClassFactory.java:67)
	at org.nutz.mvc.impl.processor.MethodInvokeProcessor.process(MethodInvokeProcessor.java:27)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.AdaptorProcessor.process(AdaptorProcessor.java:33)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.ActionFiltersProcessor.process(ActionFiltersProcessor.java:58)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at com.kanq.common.processor.XssSqlFilterProcessor.process(XssSqlFilterProcessor.java:33)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at com.kanq.common.processor.NutShiroProcessor.process(NutShiroProcessor.java:49)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.ModuleProcessor.process(ModuleProcessor.java:123)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.EncodingProcessor.process(EncodingProcessor.java:27)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.UpdateRequestAttributesProcessor.process(UpdateRequestAttributesProcessor.java:15)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at com.kanq.common.processor.GlobalsSettingProcessor.process(GlobalsSettingProcessor.java:33)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at com.kanq.common.processor.LogTimeProcessor.process(LogTimeProcessor.java:21)
	at org.nutz.mvc.impl.NutActionChain.doChain(NutActionChain.java:44)
	at org.nutz.mvc.impl.ActionInvoker.invoke(ActionInvoker.java:67)
	at org.nutz.mvc.ActionHandler.handle(ActionHandler.java:31)
	at org.nutz.mvc.NutFilter.doFilter(NutFilter.java:198)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
	at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
	at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
	at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
	at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
	at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
	at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
	at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
	at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
	at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2466)
	at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2455)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:745)
2017-05-26 14:06:16,016 com.kanq.common.processor.LogTimeProcessor.process(LogTimeProcessor.java:26) DEBUG - [POST]URI=/cms/platform/sys/form/submit 25279ms
2017-05-26 14:06:16,016 org.nutz.mvc.impl.processor.FailProcessor.process(FailProcessor.java:28) WARN  - Error@/platform/sys/form/submit :
java.lang.NullPointerException
	at org.nutz.trans.Trans._depose(Trans.java:92)
	at org.nutz.trans.Trans.close(Trans.java:255)
	at org.nutz.aop.interceptor.TransactionInterceptor.filter(TransactionInterceptor.java:41)
	at org.nutz.aop.InterceptorChain.doChain(InterceptorChain.java:60)
	at com.kanq.modules.controllers.platform.sys.FormController$$NUTZAOP.submit(FormController.java:1)
	at com.kanq.modules.controllers.platform.sys.FormController$$FASTCLASS._invoke(FormController.java:1)
	at org.nutz.lang.reflect.AbstractFastClass.invoke(AbstractFastClass.java:143)
	at org.nutz.lang.reflect.FastClassFactory.invoke(FastClassFactory.java:67)
	at org.nutz.mvc.impl.processor.MethodInvokeProcessor.process(MethodInvokeProcessor.java:27)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.AdaptorProcessor.process(AdaptorProcessor.java:33)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.ActionFiltersProcessor.process(ActionFiltersProcessor.java:58)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at com.kanq.common.processor.XssSqlFilterProcessor.process(XssSqlFilterProcessor.java:33)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at com.kanq.common.processor.NutShiroProcessor.process(NutShiroProcessor.java:49)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.ModuleProcessor.process(ModuleProcessor.java:123)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.EncodingProcessor.process(EncodingProcessor.java:27)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.UpdateRequestAttributesProcessor.process(UpdateRequestAttributesProcessor.java:15)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at com.kanq.common.processor.GlobalsSettingProcessor.process(GlobalsSettingProcessor.java:33)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at com.kanq.common.processor.LogTimeProcessor.process(LogTimeProcessor.java:21)
	at org.nutz.mvc.impl.NutActionChain.doChain(NutActionChain.java:44)
	at org.nutz.mvc.impl.ActionInvoker.invoke(ActionInvoker.java:67)
	at org.nutz.mvc.ActionHandler.handle(ActionHandler.java:31)
	at org.nutz.mvc.NutFilter.doFilter(NutFilter.java:198)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
	at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
	at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
	at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
	at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
	at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
	at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
	at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
	at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
	at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2466)
	at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2455)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:745)

最后一步提交 打开调试开关后的错误信息

改成这样试试

    protected TransactionStatus getTransaction() {
        try {
            boolean isNew = Trans.get() == null;
            Trans.begin(Connection.TRANSACTION_REPEATABLE_READ);
            return new TransactionStatus(Trans.get(), isNew);
        } catch (Exception e) {
            log.error(e.getMessage(), e);
            throw new RuntimeException(e.getMessage(), e);
        }
    }

没报哪个错误了 但是有其他错误,貌似和nutz没关系了 这个是流程定义有问题吗 ,我在jfaker中貌似用自定义的也出现这个错误

2017-05-26 14:24:41,283 org.nutz.mvc.impl.UrlMappingImpl.get(UrlMappingImpl.java:101) DEBUG - Found mapping for [POST] path=/platform/sys/form/submit : FormController.submit(FormController.java:197)
2017-05-26 14:24:41,283 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) DEBUG - Get 'permission'<class com.kanq.common.shiro.view.Permission>
2017-05-26 14:24:41,283 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) DEBUG - Get 'dateUtil'<class com.kanq.common.util.DateUtil>
2017-05-26 14:24:41,283 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) DEBUG - Get 'stringUtil'<class com.kanq.common.util.StringUtil>
2017-05-26 14:24:41,284 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) DEBUG - Get 'formController'<class com.kanq.modules.controllers.platform.sys.FormController>
2017-05-26 14:24:41,285 org.nutz.trans.Trans._begain(Trans.java:63) DEBUG - Start New Transaction id=3, level=2
2017-05-26 14:24:41,287 org.nutz.trans.Trans._begain(Trans.java:66) DEBUG - Attach Transaction    id=3, level=2
2017-05-26 14:24:41,289 org.nutz.dao.impl.sql.run.NutDaoExecutor.printSQL(NutDaoExecutor.java:388) DEBUG - SELECT * FROM sys_field  WHERE formId=?
    |                                1 |
    |----------------------------------|
    | 61f2fd42ca1b4685baafd6f23c745963 |
  For example:> "SELECT * FROM sys_field  WHERE formId='61f2fd42ca1b4685baafd6f23c745963'"
2017-05-26 14:24:41,292 org.nutz.trans.Trans._commit(Trans.java:84) DEBUG - Transaction delay Commit id=3, count=1
2017-05-26 14:24:41,293 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=startInstanceById]
2017-05-26 14:24:41,294 org.nutz.trans.Trans._begain(Trans.java:66) DEBUG - Attach Transaction    id=3, level=4
2017-05-26 14:24:41,294 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=process]
2017-05-26 14:24:41,294 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=getProcessById]
2017-05-26 14:24:41,295 org.nutz.trans.Trans._begain(Trans.java:66) DEBUG - Attach Transaction    id=3, level=4
2017-05-26 14:24:41,295 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=ensureNameCache]
2017-05-26 14:24:41,295 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=ensureEntityCache]
2017-05-26 14:24:41,295 org.snaker.engine.core.ProcessService.getProcessById(ProcessService.java:110) DEBUG - obtain process[id=143e4f0b8da54483abe480d8a925242f] from cache.
2017-05-26 14:24:41,295 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=process]
2017-05-26 14:24:41,296 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=check]
2017-05-26 14:24:41,296 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=order]
2017-05-26 14:24:41,296 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=createOrder]
2017-05-26 14:24:41,296 org.nutz.trans.Trans._begain(Trans.java:66) DEBUG - Attach Transaction    id=3, level=4
2017-05-26 14:24:41,667 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=saveOrder]
2017-05-26 14:24:41,667 org.nutz.trans.Trans._begain(Trans.java:66) DEBUG - Attach Transaction    id=3, level=4
2017-05-26 14:24:41,667 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=access]
2017-05-26 14:24:41,668 org.snaker.engine.access.jdbc.JdbcAccess.saveOrUpdate(JdbcAccess.java:167) DEBUG - 增删改数据(需手动提交事务)=
insert into wf_order (id,process_Id,creator,create_Time,parent_Id,parent_Node_Name,expire_Time,last_Update_Time,last_Updator,order_No,variable,version) values (?,?,?,?,?,?,?,?,?,?,?,?)
2017-05-26 14:24:41,676 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=access]
2017-05-26 14:24:41,676 org.snaker.engine.access.jdbc.JdbcAccess.saveOrUpdate(JdbcAccess.java:167) DEBUG - 增删改数据(需手动提交事务)=
insert into wf_hist_order (id,process_Id,order_State,creator,create_Time,end_Time,parent_Id,expire_Time,order_No,variable) values (?,?,?,?,?,?,?,?,?,?)
2017-05-26 14:24:41,678 org.snaker.engine.core.SnakerEngineImpl.execute(SnakerEngineImpl.java:274) DEBUG - 创建流程实例对象:Order(id=7582c4e2dc2d4586800b8eb5f170eded,processId=143e4f0b8da54483abe480d8a925242f,creator=superadmin,createTime2017-05-26 14:24:41,orderNo=20170526-14:24:41-390-959)
2017-05-26 14:24:41,679 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=task]
2017-05-26 14:24:41,680 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=createTask]
2017-05-26 14:24:41,680 org.nutz.trans.Trans._begain(Trans.java:66) DEBUG - Attach Transaction    id=3, level=4
2017-05-26 14:24:41,688 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=access]
2017-05-26 14:24:41,689 org.snaker.engine.access.jdbc.JdbcAccess.saveOrUpdate(JdbcAccess.java:167) DEBUG - 增删改数据(需手动提交事务)=
insert into wf_task (id,order_Id,task_Name,display_Name,task_Type,perform_Type,operator,create_Time,finish_Time,expire_Time,action_Url,parent_Task_Id,variable,version) values (?,?,?,?,?,?,?,?,?,?,?,?,?,?)
2017-05-26 14:24:41,692 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=access]
2017-05-26 14:24:41,693 org.snaker.engine.access.jdbc.JdbcAccess.saveOrUpdate(JdbcAccess.java:167) DEBUG - 增删改数据(需手动提交事务)=
insert into wf_task_actor (task_Id, actor_Id) values (?, ?)
2017-05-26 14:24:41,694 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=manager]
2017-05-26 14:24:41,694 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=getSurrogate]
2017-05-26 14:24:41,695 org.nutz.trans.Trans._begain(Trans.java:66) DEBUG - Attach Transaction    id=3, level=4
2017-05-26 14:24:41,697 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=getSurrogate]
2017-05-26 14:24:41,697 org.nutz.trans.Trans._begain(Trans.java:66) DEBUG - Attach Transaction    id=3, level=4
2017-05-26 14:24:41,697 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=access]
2017-05-26 14:24:41,697 org.snaker.engine.access.jdbc.JdbcAccess.queryList(JdbcAccess.java:193) DEBUG - 查询多条记录=
select id, process_Name, operator, surrogate, odate, sdate, edate, state from wf_surrogate where 1=1 and state = 1  and process_Name in(?)  and operator in (?)  and sdate <= ? and edate >= ?  order by sdate desc 
2017-05-26 14:24:41,701 com.kanq.snakerflow.SnakerLogInterceptor.intercept(SnakerLogInterceptor.java:30) INFO  - 创建任务[标识=a04fdca2adfd4d8ebffbf239fbbae8da,名称=借款申请,创建时间=2017-05-26 14:24:41,参与者={apply.operator}]
2017-05-26 14:24:41,701 com.kanq.snakerflow.SnakerAssignInterceptor.intercept(SnakerAssignInterceptor.java:12) DEBUG - SnakerAssignInterceptor >>> 
2017-05-26 14:24:41,702 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=query]
2017-05-26 14:24:41,702 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=getActiveTasks]
2017-05-26 14:24:41,702 org.nutz.trans.Trans._begain(Trans.java:66) DEBUG - Attach Transaction    id=3, level=4
2017-05-26 14:24:41,705 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=access]
2017-05-26 14:24:41,705 org.snaker.engine.access.jdbc.JdbcAccess.queryList(JdbcAccess.java:193) DEBUG - 查询多条记录=
select id,order_Id,task_Name,display_Name,task_Type,perform_Type,operator,create_Time,finish_Time,expire_Time,action_Url,parent_Task_Id,variable, version from wf_task  where 1=1  and order_Id = ?  order by create_Time desc 
2017-05-26 14:24:41,710 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=executeTask]
2017-05-26 14:24:41,711 org.nutz.trans.Trans._begain(Trans.java:66) DEBUG - Attach Transaction    id=3, level=4
2017-05-26 14:24:41,711 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=task]
2017-05-26 14:24:41,711 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=complete]
2017-05-26 14:24:41,711 org.nutz.trans.Trans._begain(Trans.java:66) DEBUG - Attach Transaction    id=3, level=4
2017-05-26 14:24:41,712 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=access]
2017-05-26 14:24:41,712 org.snaker.engine.access.jdbc.JdbcAccess.queryObject(JdbcAccess.java:180) DEBUG - 查询单条记录=
select id,order_Id,task_Name,display_Name,task_Type,perform_Type,operator,create_Time,finish_Time,expire_Time,action_Url,parent_Task_Id,variable, version from wf_task  where id = ?
2017-05-26 14:24:41,714 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=isAllowed]
2017-05-26 14:24:41,715 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:102) DEBUG - ****don't intercept method is[name=access]
2017-05-26 14:24:41,715 org.snaker.engine.access.jdbc.JdbcAccess.queryList(JdbcAccess.java:193) DEBUG - 查询多条记录=
select task_Id, actor_Id from wf_task_actor  where task_Id = ?
2017-05-26 14:24:41,719 org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:85) DEBUG - intercept method is[name=getStrategy]
2017-05-26 14:24:41,720 org.nutz.trans.Trans._begain(Trans.java:66) DEBUG - Attach Transaction    id=3, level=4
2017-05-26 14:24:41,720 org.snaker.engine.core.ServiceContext.put(ServiceContext.java:93) INFO  - put new instance[name=org.snaker.engine.TaskAccessStrategy][clazz=org.snaker.engine.impl.GeneralAccessStrategy]
2017-05-26 14:24:41,721 org.nutz.trans.Trans._rollback(Trans.java:111) DEBUG - Transaction delay rollback id=3, count=11
2017-05-26 14:24:41,721 org.nutz.trans.Trans._rollback(Trans.java:111) DEBUG - Transaction delay rollback id=3, count=10
2017-05-26 14:24:41,721 org.nutz.trans.Trans._rollback(Trans.java:111) DEBUG - Transaction delay rollback id=3, count=9
2017-05-26 14:24:41,721 com.kanq.common.processor.LogTimeProcessor.process(LogTimeProcessor.java:26) DEBUG - [POST]URI=/cms/platform/sys/form/submit 438ms
2017-05-26 14:24:41,722 org.nutz.mvc.impl.processor.FailProcessor.process(FailProcessor.java:28) WARN  - Error@/platform/sys/form/submit :
org.snaker.engine.SnakerException
	at org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:98)
	at org.snaker.engine.core.SnakerEngineImpl$$EnhancerByCGLIB$$64af43e2.executeTask(<generated>)
	at com.kanq.modules.controllers.platform.workflow.SnakerController.startAndExecute(SnakerController.java:155)
	at com.kanq.modules.controllers.platform.sys.FormController.submit(FormController.java:228)
	at com.kanq.modules.controllers.platform.sys.FormController$$NUTZAOP._aop_invoke(FormController.java:2)
	at org.nutz.aop.InterceptorChain.invoke(InterceptorChain.java:77)
	at org.nutz.aop.InterceptorChain.doChain(InterceptorChain.java:57)
	at org.nutz.aop.interceptor.TransactionInterceptor.filter(TransactionInterceptor.java:34)
	at org.nutz.aop.InterceptorChain.doChain(InterceptorChain.java:60)
	at com.kanq.modules.controllers.platform.sys.FormController$$NUTZAOP.submit(FormController.java:1)
	at com.kanq.modules.controllers.platform.sys.FormController$$FASTCLASS._invoke(FormController.java:1)
	at org.nutz.lang.reflect.AbstractFastClass.invoke(AbstractFastClass.java:143)
	at org.nutz.lang.reflect.FastClassFactory.invoke(FastClassFactory.java:67)
	at org.nutz.mvc.impl.processor.MethodInvokeProcessor.process(MethodInvokeProcessor.java:27)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.AdaptorProcessor.process(AdaptorProcessor.java:33)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.ActionFiltersProcessor.process(ActionFiltersProcessor.java:58)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at com.kanq.common.processor.XssSqlFilterProcessor.process(XssSqlFilterProcessor.java:33)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at com.kanq.common.processor.NutShiroProcessor.process(NutShiroProcessor.java:49)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.ModuleProcessor.process(ModuleProcessor.java:123)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.EncodingProcessor.process(EncodingProcessor.java:27)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at org.nutz.mvc.impl.processor.UpdateRequestAttributesProcessor.process(UpdateRequestAttributesProcessor.java:15)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at com.kanq.common.processor.GlobalsSettingProcessor.process(GlobalsSettingProcessor.java:33)
	at org.nutz.mvc.impl.processor.AbstractProcessor.doNext(AbstractProcessor.java:44)
	at com.kanq.common.processor.LogTimeProcessor.process(LogTimeProcessor.java:21)
	at org.nutz.mvc.impl.NutActionChain.doChain(NutActionChain.java:44)
	at org.nutz.mvc.impl.ActionInvoker.invoke(ActionInvoker.java:67)
	at org.nutz.mvc.ActionHandler.handle(ActionHandler.java:31)
	at org.nutz.mvc.NutFilter.doFilter(NutFilter.java:198)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:61)
	at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
	at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
	at org.apache.shiro.web.servlet.ProxiedFilterChain.doFilter(ProxiedFilterChain.java:66)
	at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
	at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
	at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
	at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
	at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
	at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
	at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:503)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:421)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1070)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:611)
	at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2466)
	at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2455)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:745)
Caused by: org.snaker.engine.SnakerException
	at org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:98)
	at org.snaker.engine.core.TaskService$$EnhancerByCGLIB$$e461a188.complete(<generated>)
	at org.snaker.engine.core.SnakerEngineImpl.execute(SnakerEngineImpl.java:360)
	at org.snaker.engine.core.SnakerEngineImpl.executeTask(SnakerEngineImpl.java:300)
	at org.snaker.engine.core.SnakerEngineImpl$$EnhancerByCGLIB$$64af43e2.CGLIB$executeTask$18(<generated>)
	at org.snaker.engine.core.SnakerEngineImpl$$EnhancerByCGLIB$$64af43e2$$FastClassByCGLIB$$e97605cc.invoke(<generated>)
	at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:215)
	at org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:91)
	... 67 more
Caused by: org.snaker.engine.SnakerException: 当前参与者[superadmin]不允许执行任务[taskId=a04fdca2adfd4d8ebffbf239fbbae8da]
	at org.snaker.engine.core.TaskService.complete(TaskService.java:68)
	at org.snaker.engine.core.TaskService$$EnhancerByCGLIB$$e461a188.CGLIB$complete$1(<generated>)
	at org.snaker.engine.core.TaskService$$EnhancerByCGLIB$$e461a188$$FastClassByCGLIB$$f99a8105.invoke(<generated>)
	at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:215)
	at org.snaker.engine.access.transaction.TransactionInterceptor.intercept(TransactionInterceptor.java:91)
	... 74 more

这种用cglib代理的调试都没办法。。。怎么办。。 打断点没有用。

看看TaskService的源码吧

是在看源码,本来想打断点的 ,貌似进不去,只能猜测了。

protected TransactionStatus getTransaction() {
try {
boolean isNew = Trans.get() == null;
Trans.begin(Connection.TRANSACTION_REPEATABLE_READ);
return new TransactionStatus(Trans.get(), isNew);
} catch (Exception e) {
log.error(e.getMessage(), e);
throw new RuntimeException(e.getMessage(), e);
}
}
这个为啥改成这样就好了,能解释下不。

begin和close应该成对出现,原本的写法没考虑到外面套一层aop事务

添加回复
请先登陆
回到顶部