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;
                 }
             }

Reply via email to