BasicExecutionManager: catch-log-propagate exception For scheduled tasks, make sure exception is logged. By default, it's lost when using a ScheduledExecutor.
Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/b92ed6ff Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/b92ed6ff Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/b92ed6ff Branch: refs/heads/0.4.0 Commit: b92ed6fff0a34a02dc7ac7ec16907a5c55ea66f5 Parents: e7fb0d4 Author: Aled Sage <[email protected]> Authored: Sat Oct 6 15:22:01 2012 +0100 Committer: Aled Sage <[email protected]> Committed: Sat Oct 6 15:22:01 2012 +0100 ---------------------------------------------------------------------- .../src/main/java/brooklyn/util/task/BasicExecutionManager.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/b92ed6ff/core/src/main/java/brooklyn/util/task/BasicExecutionManager.java ---------------------------------------------------------------------- diff --git a/core/src/main/java/brooklyn/util/task/BasicExecutionManager.java b/core/src/main/java/brooklyn/util/task/BasicExecutionManager.java index d29d0e5..c625a7d 100644 --- a/core/src/main/java/brooklyn/util/task/BasicExecutionManager.java +++ b/core/src/main/java/brooklyn/util/task/BasicExecutionManager.java @@ -232,7 +232,10 @@ public class BasicExecutionManager implements ExecutionManager { Object result; try { result = oldJob.call(); - } catch (Exception e) { throw Throwables.propagate(e); } + } catch (Exception e) { + log.warn("Error executing "+oldJob+" ("+task.getDescription()+")", e); + throw Throwables.propagate(e); + } task.runCount++; if (task.period!=null) { task.delay = task.period;
