2014-09-11 57 views
0

我在查詢使用jBPM5提供的任務服務分配給用戶的任務。我得到了一個偶然性的例外。問題查詢分配給用戶jBPM5的任務

的方式,通過它我查詢任務有一個方法,會取得用戶ID作爲參數調用。我正在使用人工任務服務API,它在內部使用自己的機制來查詢分配給用戶的任務。

public List<TaskSummary> getTasksAssignedToUser(String userId) { 
    TaskService taskService = this.humanTaskServiceHandler.getTaskService(); 

    List<TaskSummary> taskSummary = taskService.getTasksAssignedAsPotentialOwner(userId, WorkflowConstants.LANGUAGE); 
    LOGGER.debug("TaskSummary found: " + taskSummary.size()); 

    return taskSummary; 
} 

有時這種方法導致運行時異常如下面提到

com.xxxx.jbpm.workflow.exception.WorkflowException: Could not commit transaction 
    at com.xxxx.jbpm.workflow.impl.WorkflowManagerImpl.getAllTaskByStatus(WorkflowManagerImpl.java:161) 
    at com.xxxx.xxxx.wsserver.impl.ui.FetchApprovalRequestsServiceImpl.getFileCurrentStatusInWorkFlow(FetchApprovalRequestsServiceImpl.java:136) 
    at com.xxxx.xxxx.wsserver.impl.ui.FetchApprovalRequestsServiceImpl.getTaskListAssigned(FetchApprovalRequestsServiceImpl.java:104) 
    at com.xxxx.xxxx.wsserver.impl.ui.FetchApprovalRequestsServiceImpl.getFilesToApproveOrOverride(FetchApprovalRequestsServiceImpl.java:321) 
    at com.xxxx.xxxx.wsserver.uicontrollers.CorpController.getLatestFilesToApproveOrOverride(CorpController.java:111) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:601) 
    at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:219) 
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132) 
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) 
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:746) 
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:687) 
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80) 
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925) 
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856) 
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:915) 
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:822) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:647) 
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:796) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at com.centrify.dc.wbase.DCFilter.doFilter(Unknown Source) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) 
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118) 
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 
    at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 
    at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 
    at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 
    at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:154) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 
    at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 
at org.springframework.security.web.authentication.preauth.AbstractPreAuthenticatedProcessingFilter.doFilter(AbstractPreAuthenticatedProcessingFilter.java:94) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 
    at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50) 
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 
    at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 
    at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192) 
    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160) 
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) 
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581) 
    at com.centrify.dc.tomcat.ContextValve.invoke(ContextValve.java:32) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) 
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) 
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1686) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:722) 

Caused by: com.xxxx.jbpm.workflow.exception.TaskServiceException: Could not commit transaction 
    at com.xxxx.jbpm.workflow.services.WorkflowServiceHandler.getAllTaskByStatus(WorkflowServiceHandler.java:160) 
    at com.xxxx.jbpm.workflow.impl.WorkflowManagerImpl.getAllTaskByStatus(WorkflowManagerImpl.java:159) 
    ... 68 more 

Caused by: java.lang.RuntimeException: Could not commit transaction 
    at org.jbpm.task.service.persistence.TaskPersistenceManager.queryWithParametersInTransaction(TaskPersistenceManager.java:310) 
    at org.jbpm.task.service.persistence.TaskPersistenceManager.queryWithParametersInTransaction(TaskPersistenceManager.java:317) 
    at org.jbpm.task.service.TaskServiceSession.getTasksByStatusByProcessId(TaskServiceSession.java:1155) 
    at org.jbpm.task.service.local.LocalTaskService.getTasksByStatusByProcessId(LocalTaskService.java:205) 
    at com.xxxx.jbpm.workflow.services.WorkflowServiceHandler.getTaskDetails(WorkflowServiceHandler.java:176) 
    at com.xxxx.jbpm.workflow.services.WorkflowServiceHandler.getAllTaskByStatus(WorkflowServiceHandler.java:157) 
    ... 69 more 

Caused by: java.lang.RuntimeException: Unable to rollback transaction 
    at org.jbpm.task.service.persistence.TaskLocalTransactionManager.rollback(TaskLocalTransactionManager.java:77) 
    at org.jbpm.task.service.persistence.TaskPersistenceManager.endTransaction(TaskPersistenceManager.java:110) 
    at org.jbpm.task.service.persistence.TaskPersistenceManager.queryWithParametersInTransaction(TaskPersistenceManager.java:298) 
    ... 74 more 

Caused by: java.lang.IllegalStateException: Transaction not active 
    at org.hibernate.ejb.TransactionImpl.rollback(TransactionImpl.java:104) 
    at org.jbpm.task.service.persistence.TaskLocalTransactionManager.rollback(TaskLocalTransactionManager.java:70) 
    ... 76 more 

2014-09-11 03:31:05,549 [http-nio-8080-exec-3] INFO [c3p0.stmt.GooGooStatementCache] - Multiply prepared statement! select task0_.id as col_0_0_, task0_.processInstanceId as col_1_0_, names5_.text as col_2_0_, subjects3_.text as col_3_0_, descriptio4_.text as col_4_0_, task0_.status as col_5_0_, task0_.priority as col_6_0_, task0_.skipable as col_7_0_, user1_.id as col_8_0_, user2_.id as col_9_0_, task0_.createdOn as col_10_0_, task0_.activationTime as col_11_0_, task0_.expirationTime as col_12_0_, task0_.processId as col_13_0_, task0_.processSessionId as col_14_0_ from Task task0_ left outer join OrganizationalEntity user1_ on task0_.actualOwner_id=user1_.id left outer join OrganizationalEntity user2_ on task0_.createdBy_id=user2_.id left outer join I18NText subjects3_ on task0_.id=subjects3_.Task_Subjects_Id left outer join I18NText descriptio4_ on task0_.id=descriptio4_.Task_Descriptions_Id left outer join I18NText names5_ on task0_.id=names5_.Task_Names_Id where task0_.archived=0 and task0_.processInstanceId=? and (names5_.language=? or (select count(names6_.Task_Names_Id) from I18NText names6_ where task0_.id=names6_.Task_Names_Id)=0) and (subjects3_.language=? or (select count(subjects7_.Task_Subjects_Id) from I18NText subjects7_ where task0_.id=subjects7_.Task_Subjects_Id)=0) and (descriptio4_.language=? or (select count(descriptio8_.Task_Descriptions_Id) from I18NText descriptio8_ where task0_.id=descriptio8_.Task_Descriptions_Id)=0) and (task0_.status in (? , ? , ? , ? , ? , ?)) and (task0_.expirationTime is null) 

2014-09-11 03:31:05,581 [http-nio-8080-exec-3] ERROR [workflow.services.WorkflowServiceHandler] - Operation failed 

java.lang.RuntimeException: Operation failed 
    at org.jbpm.task.service.persistence.TaskPersistenceManager.queryWithParametersInTransaction(TaskPersistenceManager.java:310) 
    at org.jbpm.task.service.persistence.TaskPersistenceManager.queryWithParametersInTransaction(TaskPersistenceManager.java:317) 
    at org.jbpm.task.service.TaskServiceSession.getTasksByStatusByProcessId(TaskServiceSession.java:1155) 
    at org.jbpm.task.service.local.LocalTaskService.getTasksByStatusByProcessId(LocalTaskService.java:205) 
    at com.xxxx.jbpm.workflow.services.WorkflowServiceHandler.getTaskDetails(WorkflowServiceHandler.java:176) 
    at com.xxxx.jbpm.workflow.services.WorkflowServiceHandler.getAllTaskByStatus(WorkflowServiceHandler.java:157) 
    at com.xxxx.jbpm.workflow.impl.WorkflowManagerImpl.getAllTaskByStatus(WorkflowManagerImpl.java:159) 
    at com.xxxx.xxxx.wsserver.impl.ui.FetchApprovalRequestsServiceImpl.getFileCurrentStatusInWorkFlow(FetchApprovalRequestsServiceImpl.java:136) 
    at com.xxxx.xxxx.wsserver.impl.ui.FetchApprovalRequestsServiceImpl.getTaskListAssigned(FetchApprovalRequestsServiceImpl.java:104) 
    at com.xxxx.xxxx.wsserver.impl.ui.FetchApprovalRequestsServiceImpl.getFilesToApproveOrOverride(FetchApprovalRequestsServiceImpl.java:321) 
    at com.xxxx.xxxx.wsserver.uicontrollers.CorpController.getLatestFilesToApproveOrOverride(CorpController.java:111) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:601) 
    at org.springframework.web.method.support.InvocableHandlerMethod.invoke(InvocableHandlerMethod.java:219) 
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:132) 
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104) 
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:746) 
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:687) 
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:80) 
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:925) 
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:856) 
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:915) 
    at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:822) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:647) 
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:796) 
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at com.centrify.dc.wbase.DCFilter.doFilter(Unknown Source) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) 
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118) 
    at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 
    at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 
    at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:103) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 
    at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 
    at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:154) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 
    at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 
at org.springframework.security.web.authentication.preauth.AbstractPreAuthenticatedProcessingFilter.doFilter(AbstractPreAuthenticatedProcessingFilter.java:94) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 
    at org.springframework.security.web.context.request.async.WebAsyncManagerIntegrationFilter.doFilterInternal(WebAsyncManagerIntegrationFilter.java:50) 
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 
    at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87) 
    at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) 
    at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192) 
    at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160) 
    at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346) 
    at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) 
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:581) 
    at com.centrify.dc.tomcat.ContextValve.invoke(ContextValve.java:32) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) 
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) 
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) 
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1686) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
    at java.lang.Thread.run(Thread.java:722) 
Caused by: javax.persistence.PersistenceException: org.hibernate.exception.GenericJDBCException: could not execute query 
    at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1235) 
    at org.hibernate.ejb.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1168) 
    at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:250) 
    at org.jbpm.task.service.persistence.TaskPersistenceManager.queryWithParameters(TaskPersistenceManager.java:352) 
    at org.jbpm.task.service.persistence.TaskPersistenceManager.queryWithParametersInTransaction(TaskPersistenceManager.java:295) 
    ... 74 more 

Caused by: org.hibernate.exception.GenericJDBCException: could not execute query 
    at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:140) 
    at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:128) 
    at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66) 
    at org.hibernate.loader.Loader.doList(Loader.java:2297) 
    at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2172) 
    at org.hibernate.loader.Loader.list(Loader.java:2167) 
    at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:448) 
    at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:363) 
    at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196) 
    at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1258) 
    at org.hibernate.impl.QueryImpl.list(QueryImpl.java:102) 
    at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:241) 
    ... 76 more 

Caused by: java.sql.SQLException: Exhausted Resultset 
    at oracle.jdbc.driver.OracleResultSetImpl.getLong(OracleResultSetImpl.java:912) 
    at oracle.jdbc.driver.OracleResultSet.getLong(OracleResultSet.java:440) 
    at com.mchange.v2.c3p0.impl.NewProxyResultSet.getLong(NewProxyResultSet.java:2625) 
    at org.hibernate.type.LongType.get(LongType.java:51) 
    at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:184) 
    at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:173) 
    at org.hibernate.loader.hql.QueryLoader.getResultColumnOrRow(QueryLoader.java:399) 
    at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:647) 
    at org.hibernate.loader.Loader.doQuery(Loader.java:745) 
    at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:270) 
    at org.hibernate.loader.Loader.doList(Loader.java:2294) 
    ... 84 more 

我找不出是什麼原因造成上述錯誤,我怎麼能解決這個問題?使用

版本 -

  1. Spring框架(彈簧核心&彈簧豆) - 3.0.6.RELEASE
  2. 平臺 - 紅帽Linux - 2.6.18-308.el5
  3. 組織。 jBPM的文物版本 - 5.5.0.Final

更新

這是我如何配置實體管理jBPM任務服務

<bean id="oracleDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource" 
    destroy-method="close"> 
    <property name="driverClass" value="${DB.ORACLE.DRIVER.CLASS}" /> 
    <property name="jdbcUrl" value="${DB.ORACLE.JDBC.URL}" /> 
    <property name="user" value="${DB.ORACLE.USERNAME}" /> 
    <property name="password" value="${DB.ORACLE.PASSWORD}" /> 
    <property name="minPoolSize" value="${DB.ORACLE.MIN.POOL.SIZE}" /> 
    <property name="maxPoolSize" value="${DB.ORACLE.MAX.POOL.SIZE}" /> 
    <property name="acquireIncrement" value="${DB.ORACLE.ACQUIRE.INCREMENT}" /> 
    <property name="maxIdleTime" value="${DB.ORACLE.MAX.IDLE.TIME}" /> 
    <property name="maxStatements" value="${DB.ORACLE.MAX.STATEMENTS}" /> 
    <property name="idleConnectionTestPeriod" value="${DB.ORACLE.IDLE.CONNECTION.TEST.PERIOD}" /> 
    <property name="testConnectionOnCheckin" value="${DB.ORACLE.TEST.CONNECTION.ON.CHECKIN}" /> 
    <property name="preferredTestQuery" value="${DB.ORACLE.PREFERRED.TEST.QUERY}" /> 
</bean> 

<bean id="entityManagerFactoryJbpmTask" 
    class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean"> 
    <property name="dataSource" ref="oracleDataSource" /> 
    <property name="persistenceUnitName" value="org.jbpm.task" /> 
    <property name="persistenceXmlLocation" value="WEB-INF/spring/task-persistence.xml" /> 
    <property name="jpaVendorAdapter"> 
     <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"> 
      <property name="databasePlatform" value="${DB.ORACLE.DIALECT}" /> 
      <property name="showSql" value="false" /> 
      <property name="generateDdl" value="false" /> 
     </bean> 
    </property> 
</bean> 

我使用的是相同的數據源(oracleDataSource)爲我的休眠層之一,它在這裏做什麼區別嗎?

這是我的任務的persistence.xml

<?xml version="1.0" encoding="UTF-8"?> 
<persistence version="1.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:orm="http://java.sun.com/xml/ns/persistence/orm" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd http://java.sun.com/xml/ns/persistence/orm http://java.sun.com/xml/ns/persistence/orm_1_0.xsd"> 

<persistence-unit name="org.jbpm.task"> 
<provider>org.hibernate.ejb.HibernatePersistence</provider> 
<mapping-file>META-INF/Taskorm.xml</mapping-file> 
<class>org.jbpm.task.Attachment</class> 
<class>org.jbpm.task.Content</class> 
<class>org.jbpm.task.BooleanExpression</class> 
<class>org.jbpm.task.Comment</class> 
<class>org.jbpm.task.Deadline</class> 
<class>org.jbpm.task.Comment</class> 
<class>org.jbpm.task.Deadline</class> 
<class>org.jbpm.task.Delegation</class> 
<class>org.jbpm.task.Escalation</class> 
<class>org.jbpm.task.Group</class> 
<class>org.jbpm.task.I18NText</class> 
<class>org.jbpm.task.Notification</class> 
<class>org.jbpm.task.EmailNotification</class> 
<class>org.jbpm.task.EmailNotificationHeader</class> 
<class>org.jbpm.task.PeopleAssignments</class> 
<class>org.jbpm.task.Reassignment</class> 
<class>org.jbpm.task.Status</class> 
<class>org.jbpm.task.Task</class> 
<class>org.jbpm.task.TaskData</class> 
<class>org.jbpm.task.SubTasksStrategy</class> 
<class>org.jbpm.task.OnParentAbortAllSubTasksEndStrategy</class> 
<class>org.jbpm.task.OnAllSubTasksEndParentEndStrategy</class> 
<class>org.jbpm.task.User</class> 

<properties> 
    <property name="hibernate.dialect" value="org.hibernate.dialect.Oracle10gDialect"/> 
    <property name="hibernate.connection.driver_class" value="${DB.ORACLE.DRIVER.CLASS}"/> 
    <property name="hibernate.connection.url" value="${DB.ORACLE.JDBC.URL}" /> 
    <property name="hibernate.connection.username" value="${DB.ORACLE.USERNAME}"/> 
    <property name="hibernate.connection.password" value="${DB.ORACLE.PASSWORD}"/> 
    <property name="hibernate.connection.autocommit" value="false" /> 

    <property name="hibernate.max_fetch_depth" value="3"/> 
    <!-- <property name="hibernate.hbm2ddl.auto" value="update" /> --> 
    <property name="hibernate.show_sql" value="false" /> 
</properties> 

問候, Mayank

回答

0

好像有和春天有個問題,而且是內創建實體管理任務服務,那裏可能會有衝突,你需要檢查一下,春天是否搞砸了。您是否使用彈簧持久性機制來存儲其他內容?

Regards

+0

我已經實現了一個獨立的hibernate層,負責其他CRUD操作,它只是共享數據源對象。我已經更新了我的問題,敬請看看。 – Mayank 2014-09-11 16:53:40

+0

照顧什麼是CRUD? – salaboy 2014-09-12 19:12:16

+0

CRUD我的意思是創建,讀取,更新和刪除包含其他表來運行應用程序的數據庫的操作。 – Mayank 2014-09-15 10:46:02