[
https://issues.apache.org/jira/browse/CURATOR-144?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14113950#comment-14113950
]
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_r16852092
--- Diff:
curator-recipes/src/main/java/org/apache/curator/framework/recipes/cache/TreeCache.java
---
@@ -65,6 +69,112 @@
{
private static final Logger LOG =
LoggerFactory.getLogger(TreeCache.class);
+ public static final class Builder
+ {
+ private final CuratorFramework client;
+ private final String path;
+ private boolean cacheData = true;
+ private boolean dataIsCompressed = false;
+ private CloseableExecutorService executorService = null;
+
+ private Builder(CuratorFramework client, String path)
+ {
+ this.client = checkNotNull(client);
+ this.path = validatePath(path);
+ }
+
+ /**
+ * Builds the {@link TreeCache} based on configured values.
+ */
+ public TreeCache build()
+ {
+ CloseableExecutorService executor = executorService;
+ if ( executor == null )
+ {
+ executor = new
CloseableExecutorService(Executors.newSingleThreadExecutor(defaultThreadFactory));
+ }
+ return new TreeCache(client, path, cacheData,
dataIsCompressed, executor);
+ }
+
+ /**
+ * Builds the {@link TreeCache} based on configured values, and
starts it.
+ */
+ public TreeCache buildAndStart() throws Exception
--- End diff --
This seems like an unnecessary API bloat. Users can just do build().start();
> 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)