[
https://issues.apache.org/jira/browse/CURATOR-144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14113810#comment-14113810
]
ASF GitHub Bot commented on CURATOR-144:
----------------------------------------
Github user Randgalt commented on a diff in the pull request:
https://github.com/apache/curator/pull/41#discussion_r16843839
--- Diff:
curator-recipes/src/main/java/org/apache/curator/framework/recipes/cache/TreeCache.java
---
@@ -580,13 +670,33 @@ public Void apply(TreeCacheListener listener)
}
/**
- * Default behavior is just to log the exception
- *
- * @param e the exception
+ * Send an exception to any listeners, or else log the error if there
are none.
*/
- protected void handleException(Throwable e)
+ private void handleException(final Throwable e)
{
- LOG.error("", e);
+ if ( errorListeners.size() == 0 )
+ {
+ LOG.error("", e);
+ }
+ else
+ {
+ errorListeners.forEach(new Function<UnhandledErrorListener,
Void>()
+ {
+ @Override
+ public Void apply(UnhandledErrorListener listener)
+ {
+ try
+ {
+ listener.unhandledError("", e);
+ }
+ catch ( Exception e )
+ {
+ LOG.error("Exception handling exception", e);
+ }
+ return null;
+ }
+ });
+ }
--- End diff --
I'd rather see a global change for something like this instead of each
recipe doing it.
> TreeCache should use a builder for advanced options
> ---------------------------------------------------
>
> Key: CURATOR-144
> URL: https://issues.apache.org/jira/browse/CURATOR-144
> Project: Apache Curator
> Issue Type: Improvement
> Components: Recipes
> Reporter: Scott Blum
> Priority: Minor
> Original Estimate: 24h
> Remaining Estimate: 24h
>
--
This message was sent by Atlassian JIRA
(v6.2#6252)