Quartz throws Exceptions on BPMS shutdown

Solution Unverified - Updated -

Issue

  • When I shutdown BPMS, several Exceptions are thrown from Quartz.
15:52:18,342 ERROR [org.quartz.core.ErrorLogger] (jBPMScheduler_QuartzSchedulerThread) An error occured while releasing trigger 'jbpm.14752-22138-2_trigger': org.quartz.JobPersistenceException: Failed to obtain DB connection from data source 'notManagedDS': java.sql.SQLException: Could not retrieve datasource via JNDI url 'java:/QuartzNotManagedDS' java.sql.SQLException: javax.resource.ResourceException: IJ000451: The connection manager is shutdown: java:/QuartzNotManagedDS [See nested exception: java.sql.SQLException: Could not retrieve datasource via JNDI url 'java:/QuartzNotManagedDS' java.sql.SQLException: javax.resource.ResourceException: IJ000451: The connection manager is shutdown: java:/QuartzNotManagedDS]
        at org.quartz.impl.jdbcjobstore.JobStoreCMT.getNonManagedTXConnection(JobStoreCMT.java:165) [quartz-1.8.5.jar:]
        at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3758) [quartz-1.8.5.jar:]
        at org.quartz.impl.jdbcjobstore.JobStoreSupport.executeInNonManagedTXLock(JobStoreSupport.java:3730) [quartz-1.8.5.jar:]
        at org.quartz.impl.jdbcjobstore.JobStoreSupport.releaseAcquiredTrigger(JobStoreSupport.java:2809) [quartz-1.8.5.jar:]
        at org.quartz.core.QuartzSchedulerThread.releaseIfScheduleChangedSignificantly(QuartzSchedulerThread.java:430) [quartz-1.8.5.jar:]
        at org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:301) [quartz-1.8.5.jar:]
Caused by: java.sql.SQLException: Could not retrieve datasource via JNDI url 'java:/QuartzNotManagedDS' java.sql.SQLException: javax.resource.ResourceException: IJ000451: The connection manager is shutdown: java:/QuartzNotManagedDS
        at org.quartz.utils.JNDIConnectionProvider.getConnection(JNDIConnectionProvider.java:163) [quartz-1.8.5.jar:]
        at org.quartz.utils.DBConnectionManager.getConnection(DBConnectionManager.java:109) [quartz-1.8.5.jar:]
        at org.quartz.impl.jdbcjobstore.JobStoreCMT.getNonManagedTXConnection(JobStoreCMT.java:162) [quartz-1.8.5.jar:]
        ... 5 more

15:52:24,471 ERROR [org.quartz.impl.jdbcjobstore.JobStoreCMT] (QuartzScheduler_jBPMScheduler-XXXX_ClusterManager) ClusterManager: Error managing cluster: Failed to obtain DB connection from data source 'notManagedDS': java.sql.SQLException: Could not retrieve datasource via JNDI url 'java:/QuartzNotManagedDS' javax.naming.NameNotFoundException: QuartzNotManagedDS -- service jboss.naming.context.java.QuartzNotManagedDS: org.quartz.JobPersistenceException: Failed to obtain DB connection from data source 'notManagedDS': java.sql.SQLException: Could not retrieve datasource via JNDI url 'java:/QuartzNotManagedDS' javax.naming.NameNotFoundException: QuartzNotManagedDS -- service jboss.naming.context.java.QuartzNotManagedDS [See nested exception: java.sql.SQLException: Could not retrieve datasource via JNDI url 'java:/QuartzNotManagedDS' javax.naming.NameNotFoundException: QuartzNotManagedDS -- service jboss.naming.context.java.QuartzNotManagedDS]
        at org.quartz.impl.jdbcjobstore.JobStoreCMT.getNonManagedTXConnection(JobStoreCMT.java:165) [quartz-1.8.5.jar:]
        at org.quartz.impl.jdbcjobstore.JobStoreSupport.doCheckin(JobStoreSupport.java:3188) [quartz-1.8.5.jar:]
        at org.quartz.impl.jdbcjobstore.JobStoreSupport$ClusterManager.manage(JobStoreSupport.java:3825) [quartz-1.8.5.jar:]
        at org.quartz.impl.jdbcjobstore.JobStoreSupport$ClusterManager.run(JobStoreSupport.java:3861) [quartz-1.8.5.jar:]
Caused by: java.sql.SQLException: Could not retrieve datasource via JNDI url 'java:/QuartzNotManagedDS' javax.naming.NameNotFoundException: QuartzNotManagedDS -- service jboss.naming.context.java.QuartzNotManagedDS
        at org.quartz.utils.JNDIConnectionProvider.getConnection(JNDIConnectionProvider.java:163) [quartz-1.8.5.jar:]
        at org.quartz.utils.DBConnectionManager.getConnection(DBConnectionManager.java:109) [quartz-1.8.5.jar:]
        at org.quartz.impl.jdbcjobstore.JobStoreCMT.getNonManagedTXConnection(JobStoreCMT.java:162) [quartz-1.8.5.jar:]
        ... 3 more
15:33:17,591 ERROR [org.jbpm.process.instance.timer.TimerManager] (jBPMClusteredScheduler_Worker-1) Error when executing timer job: org.jbpm.workflow.instance.WorkflowRuntimeException: [project1.helloTimer:1 - HT1:6] -- Runtime manager org.kie.example:project1:1.0.0-SNAPSHOT is already closed
    at org.jbpm.workflow.instance.node.WorkItemNodeInstance.internalTrigger(WorkItemNodeInstance.java:149) [jbpm-flow-6.5.0.Final-redhat-2.jar:6.5.0.Final-redhat-2]
    at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:173) [jbpm-flow-6.5.0.Final-redhat-2.jar:6.5.0.Final-redhat-2]
    at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerNodeInstance(NodeInstanceImpl.java:366) [jbpm-flow-6.5.0.Final-redhat-2.jar:6.5.0.Final-redhat-2]
    at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:325) [jbpm-flow-6.5.0.Final-redhat-2.jar:6.5.0.Final-redhat-2]
    at org.jbpm.workflow.instance.node.ActionNodeInstance.triggerCompleted(ActionNodeInstance.java:61) [jbpm-flow-6.5.0.Final-redhat-2.jar:6.5.0.Final-redhat-2]
    at org.jbpm.workflow.instance.node.ActionNodeInstance.internalTrigger(ActionNodeInstance.java:57) [jbpm-flow-6.5.0.Final-redhat-2.jar:6.5.0.Final-redhat-2]
    at org.jbpm.workflow.instance.impl.NodeInstanceImpl.trigger(NodeInstanceImpl.java:173) [jbpm-flow-6.5.0.Final-redhat-2.jar:6.5.0.Final-redhat-2]
    at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerNodeInstance(NodeInstanceImpl.java:366) [jbpm-flow-6.5.0.Final-redhat-2.jar:6.5.0.Final-redhat-2]
    at org.jbpm.workflow.instance.impl.NodeInstanceImpl.triggerCompleted(NodeInstanceImpl.java:325) [jbpm-flow-6.5.0.Final-redhat-2.jar:6.5.0.Final-redhat-2]
    at org.jbpm.workflow.instance.impl.ExtendedNodeInstanceImpl.triggerCompleted(ExtendedNodeInstanceImpl.java:44) [jbpm-flow-6.5.0.Final-redhat-2.jar:6.5.0.Final-redhat-2]
    at org.jbpm.workflow.instance.node.StateBasedNodeInstance.triggerCompleted(StateBasedNodeInstance.java:341) [jbpm-flow-6.5.0.Final-redhat-2.jar:6.5.0.Final-redhat-2]
    at org.jbpm.workflow.instance.node.TimerNodeInstance.triggerCompleted(TimerNodeInstance.java:143) [jbpm-flow-6.5.0.Final-redhat-2.jar:6.5.0.Final-redhat-2]
    at org.jbpm.workflow.instance.node.TimerNodeInstance.signalEvent(TimerNodeInstance.java:133) [jbpm-flow-6.5.0.Final-redhat-2.jar:6.5.0.Final-redhat-2]
    at org.jbpm.workflow.instance.impl.WorkflowProcessInstanceImpl.signalEvent(WorkflowProcessInstanceImpl.java:503) [jbpm-flow-6.5.0.Final-redhat-2.jar:6.5.0.Final-redhat-2]
    at org.jbpm.process.instance.event.DefaultSignalManager.signalEvent(DefaultSignalManager.java:90) [jbpm-flow-6.5.0.Final-redhat-2.jar:6.5.0.Final-redhat-2]
    at org.jbpm.process.instance.timer.TimerManager$ProcessJob.execute(TimerManager.java:300) [jbpm-flow-6.5.0.Final-redhat-2.jar:6.5.0.Final-redhat-2]
    at org.drools.core.time.SelfRemovalJob.execute(SelfRemovalJob.java:34) [drools-core-6.5.0.Final-redhat-2.jar:6.5.0.Final-redhat-2]
    at org.drools.core.time.impl.DefaultTimerJobInstance.call(DefaultTimerJobInstance.java:69) [drools-core-6.5.0.Final-redhat-2.jar:6.5.0.Final-redhat-2]
    at org.drools.persistence.jpa.JpaTimerJobInstance.internalCall(JpaTimerJobInstance.java:59) [drools-persistence-jpa-6.5.0.Final-redhat-2.jar:6.5.0.Final-redhat-2]
    at org.drools.persistence.jpa.JDKCallableJobCommand.execute(JDKCallableJobCommand.java:35) [drools-persistence-jpa-6.5.0.Final-redhat-2.jar:6.5.0.Final-redhat-2]
    at org.drools.persistence.jpa.JDKCallableJobCommand.execute(JDKCallableJobCommand.java:21) [drools-persistence-jpa-6.5.0.Final-redhat-2.jar:6.5.0.Final-redhat-2]
    at org.drools.core.command.impl.DefaultCommandService.execute(DefaultCommandService.java:36) [drools-core-6.5.0.Final-redhat-2.jar:6.5.0.Final-redhat-2]
    at org.drools.core.command.impl.AbstractInterceptor.executeNext(AbstractInterceptor.java:41) [drools-core-6.5.0.Final-redhat-2.jar:6.5.0.Final-redhat-2]
    at org.drools.persistence.SingleSessionCommandService$TransactionInterceptor.execute(SingleSessionCommandService.java:604) [drools-persistence-jpa-6.5.0.Final-redhat-2.jar:6.5.0.Final-redhat-2]
    at org.drools.core.command.impl.AbstractInterceptor.executeNext(AbstractInterceptor.java:41) [drools-core-6.5.0.Final-redhat-2.jar:6.5.0.Final-redhat-2]
    at org.drools.persistence.jpa.OptimisticLockRetryInterceptor.execute(OptimisticLockRetryInterceptor.java:82) [drools-persistence-jpa-6.5.0.Final-redhat-2.jar:6.5.0.Final-redhat-2]
    at org.drools.core.command.impl.AbstractInterceptor.executeNext(AbstractInterceptor.java:41) [drools-core-6.5.0.Final-redhat-2.jar:6.5.0.Final-redhat-2]
    at org.drools.persistence.jta.TransactionLockInterceptor.execute(TransactionLockInterceptor.java:73) [drools-persistence-jpa-6.5.0.Final-redhat-2.jar:6.5.0.Final-redhat-2]
    at org.drools.persistence.SingleSessionCommandService.execute(SingleSessionCommandService.java:397) [drools-persistence-jpa-6.5.0.Final-redhat-2.jar:6.5.0.Final-redhat-2]
    at org.jbpm.process.core.timer.impl.GlobalTimerService$DisposableCommandService.execute(GlobalTimerService.java:306) [jbpm-flow-6.5.0.Final-redhat-2.jar:6.5.0.Final-redhat-2]
    at org.jbpm.persistence.timer.GlobalJpaTimerJobInstance.call(GlobalJpaTimerJobInstance.java:77) [jbpm-persistence-jpa-6.5.0.Final-redhat-2.jar:6.5.0.Final-redhat-2]
    at org.jbpm.persistence.timer.GlobalJpaTimerJobInstance.call(GlobalJpaTimerJobInstance.java:47) [jbpm-persistence-jpa-6.5.0.Final-redhat-2.jar:6.5.0.Final-redhat-2]
    at org.jbpm.process.core.timer.impl.QuartzSchedulerService$QuartzJob.execute(QuartzSchedulerService.java:322) [jbpm-flow-6.5.0.Final-redhat-2.jar:6.5.0.Final-redhat-2]
    at org.quartz.core.JobRunShell.run(JobRunShell.java:216) [quartz-1.8.5.jar:]
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:549) [quartz-1.8.5.jar:]
Caused by: java.lang.IllegalStateException: Runtime manager org.kie.example:project1:1.0.0-SNAPSHOT is already closed
    at org.jbpm.runtime.manager.impl.SingletonRuntimeManager.getRuntimeEngine(SingletonRuntimeManager.java:113) [jbpm-runtime-manager-6.5.0.Final-redhat-2.jar:6.5.0.Final-redhat-2]
    at org.jbpm.services.task.wih.LocalHTWorkItemHandler.executeWorkItem(LocalHTWorkItemHandler.java:56) [jbpm-human-task-workitems-6.5.0.Final-redhat-2.jar:6.5.0.Final-redhat-2]
    at org.drools.persistence.jpa.processinstance.JPAWorkItemManager.internalExecuteWorkItem(JPAWorkItemManager.java:69) [drools-persistence-jpa-6.5.0.Final-redhat-2.jar:6.5.0.Final-redhat-2]
    at org.jbpm.workflow.instance.node.WorkItemNodeInstance.internalTrigger(WorkItemNodeInstance.java:139) [jbpm-flow-6.5.0.Final-redhat-2.jar:6.5.0.Final-redhat-2]
    ... 34 more

Environment

  • Red Hat JBoss BPM Suite
    • 6.4.0
  • Quartz scheduler

Subscriber exclusive content

A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.