Author: boisvert Date: Wed May 23 11:38:12 2007 New Revision: 541016 URL: http://svn.apache.org/viewvc?view=rev&rev=541016 Log: Rule of thumb: Don't do work in afterCompletion()
Modified: incubator/ode/trunk/bpel-scheduler-quartz/src/main/java/org/apache/ode/bpel/scheduler/quartz/QuartzSchedulerImpl.java Modified: incubator/ode/trunk/bpel-scheduler-quartz/src/main/java/org/apache/ode/bpel/scheduler/quartz/QuartzSchedulerImpl.java URL: http://svn.apache.org/viewvc/incubator/ode/trunk/bpel-scheduler-quartz/src/main/java/org/apache/ode/bpel/scheduler/quartz/QuartzSchedulerImpl.java?view=diff&rev=541016&r1=541015&r2=541016 ============================================================================== --- incubator/ode/trunk/bpel-scheduler-quartz/src/main/java/org/apache/ode/bpel/scheduler/quartz/QuartzSchedulerImpl.java (original) +++ incubator/ode/trunk/bpel-scheduler-quartz/src/main/java/org/apache/ode/bpel/scheduler/quartz/QuartzSchedulerImpl.java Wed May 23 11:38:12 2007 @@ -227,8 +227,11 @@ registerSynchronizer(new Synchronizer() { public void afterCompletion(boolean success) { try { + _executorSvc.submit(new Runnable() { + public void run() { + try { if (transacted) { - execIsolatedTransaction(new Callable() { + execTransaction(new Callable() { public Object call() throws Exception { JobInfo ji = new JobInfo("volatileJob", detail, 0); doExecute(ji); @@ -239,8 +242,13 @@ JobInfo ji = new JobInfo("volatileJob", detail, 0); doExecute(ji); } - } catch (Exception e) { - throw new ContextException("Failure when starting a new volatile job.", e); + } catch (Throwable t) { + __log.error("Error while executing volatile job: "+detail, t); + } + } + }); + } catch (Throwable t) { + __log.error("Failure when starting a new volatile job: "+detail, t); } } public void beforeCompletion() { }