Repository: camel Updated Branches: refs/heads/master e0e099f68 -> 52a9b2b58
PLANNER-468 camel-optaplanner should not eat exceptions + fix async solving deamon test that broke after upgrade to 6.3 Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/52a9b2b5 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/52a9b2b5 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/52a9b2b5 Branch: refs/heads/master Commit: 52a9b2b58cbad00f0e6e8623cfe5d439a0e1ee80 Parents: e0e099f Author: Geoffrey De Smet <gds.geoffrey.de.s...@gmail.com> Authored: Wed Oct 14 10:59:09 2015 +0200 Committer: Geoffrey De Smet <gds.geoffrey.de.s...@gmail.com> Committed: Wed Oct 14 10:59:09 2015 +0200 ---------------------------------------------------------------------- .../camel/component/optaplanner/OptaPlannerProducer.java | 8 +++++++- .../component/optaplanner/OptaPlannerDaemonSolverTest.java | 3 ++- 2 files changed, 9 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/52a9b2b5/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaPlannerProducer.java ---------------------------------------------------------------------- diff --git a/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaPlannerProducer.java b/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaPlannerProducer.java index d5fd285..2a362f6 100644 --- a/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaPlannerProducer.java +++ b/components/camel-optaplanner/src/main/java/org/apache/camel/component/optaplanner/OptaPlannerProducer.java @@ -27,7 +27,9 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class OptaPlannerProducer extends DefaultProducer { + private static final transient Logger LOGGER = LoggerFactory.getLogger(OptaPlannerProducer.class); + private ExecutorService executor; private final OptaPlannerEndpoint endpoint; private final OptaPlannerConfiguration configuration; @@ -68,7 +70,11 @@ public class OptaPlannerProducer extends DefaultProducer { executor.submit(new Runnable() { @Override public void run() { - solver.solve((Solution)body); + try { + solver.solve((Solution) body); + } catch (Throwable e) { + LOGGER.error("Asynchronously solving failed for solverId ({})", solverId, e); + } } }); } else { http://git-wip-us.apache.org/repos/asf/camel/blob/52a9b2b5/components/camel-optaplanner/src/test/java/org/apache/camel/component/optaplanner/OptaPlannerDaemonSolverTest.java ---------------------------------------------------------------------- diff --git a/components/camel-optaplanner/src/test/java/org/apache/camel/component/optaplanner/OptaPlannerDaemonSolverTest.java b/components/camel-optaplanner/src/test/java/org/apache/camel/component/optaplanner/OptaPlannerDaemonSolverTest.java index 27980db..060927e 100644 --- a/components/camel-optaplanner/src/test/java/org/apache/camel/component/optaplanner/OptaPlannerDaemonSolverTest.java +++ b/components/camel-optaplanner/src/test/java/org/apache/camel/component/optaplanner/OptaPlannerDaemonSolverTest.java @@ -37,7 +37,7 @@ import org.optaplanner.examples.cloudbalancing.persistence.CloudBalancingGenerat */ public class OptaPlannerDaemonSolverTest extends CamelTestSupport { - @Test @Ignore("https://issues.jboss.org/browse/PLANNER-468") // TODO Unignore when upgraded to optaplanner 6.3.1+ + @Test public void testAsynchronousProblemSolving() throws Exception { MockEndpoint mockEndpoint = getMockEndpoint("mock:result"); mockEndpoint.setExpectedCount(1); @@ -98,6 +98,7 @@ public class OptaPlannerDaemonSolverTest extends CamelTestSupport { scoreDirector.beforeProblemFactRemoved(workingComputer); it.remove(); // remove from list scoreDirector.beforeProblemFactRemoved(workingComputer); + scoreDirector.triggerVariableListeners(); break; } }