Repository: camel Updated Branches: refs/heads/master cf4e73347 -> 5aa0052f8
CAMEL-7999: More components include documentation Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/1faf2664 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/1faf2664 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/1faf2664 Branch: refs/heads/master Commit: 1faf26641485fabb340fc44f52fea2bc5ac51b4b Parents: cf4e733 Author: Claus Ibsen <davscl...@apache.org> Authored: Tue Jan 6 08:32:05 2015 +0100 Committer: Claus Ibsen <davscl...@apache.org> Committed: Tue Jan 6 08:32:05 2015 +0100 ---------------------------------------------------------------------- .../camel/component/cache/CacheComponent.java | 11 ++++++----- .../camel/component/cache/CacheConfiguration.java | 17 ++++++++++++++++- .../camel/component/cache/CacheEndpoint.java | 10 ++++++++-- 3 files changed, 30 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/1faf2664/components/camel-cache/src/main/java/org/apache/camel/component/cache/CacheComponent.java ---------------------------------------------------------------------- diff --git a/components/camel-cache/src/main/java/org/apache/camel/component/cache/CacheComponent.java b/components/camel-cache/src/main/java/org/apache/camel/component/cache/CacheComponent.java index 82ce9f8..c19d0c0 100755 --- a/components/camel-cache/src/main/java/org/apache/camel/component/cache/CacheComponent.java +++ b/components/camel-cache/src/main/java/org/apache/camel/component/cache/CacheComponent.java @@ -22,22 +22,23 @@ import java.util.Map; import org.apache.camel.CamelContext; import org.apache.camel.Endpoint; -import org.apache.camel.impl.DefaultComponent; +import org.apache.camel.impl.UriEndpointComponent; import org.apache.camel.util.ObjectHelper; import org.apache.camel.util.ResourceHelper; import org.apache.camel.util.ServiceHelper; -public class CacheComponent extends DefaultComponent { +public class CacheComponent extends UriEndpointComponent { private CacheConfiguration configuration; private CacheManagerFactory cacheManagerFactory; private String configurationFile; public CacheComponent() { + super(CacheEndpoint.class); configuration = new CacheConfiguration(); } public CacheComponent(CamelContext context) { - super(context); + super(context, CacheEndpoint.class); configuration = new CacheConfiguration(); } @@ -46,14 +47,14 @@ public class CacheComponent extends DefaultComponent { protected Endpoint createEndpoint(String uri, String remaining, Map parameters) throws Exception { // must use copy as each endpoint can have different options ObjectHelper.notNull(configuration, "configuration"); - CacheConfiguration config = configuration.copy(); + CacheConfiguration config = configuration.copy(); config.parseURI(new URI(uri)); - setProperties(this, parameters); setProperties(config, parameters); CacheEndpoint cacheEndpoint = new CacheEndpoint(uri, this, config, cacheManagerFactory); + setProperties(cacheEndpoint, parameters); return cacheEndpoint; } http://git-wip-us.apache.org/repos/asf/camel/blob/1faf2664/components/camel-cache/src/main/java/org/apache/camel/component/cache/CacheConfiguration.java ---------------------------------------------------------------------- diff --git a/components/camel-cache/src/main/java/org/apache/camel/component/cache/CacheConfiguration.java b/components/camel-cache/src/main/java/org/apache/camel/component/cache/CacheConfiguration.java index 549868f..f3b8152 100755 --- a/components/camel-cache/src/main/java/org/apache/camel/component/cache/CacheConfiguration.java +++ b/components/camel-cache/src/main/java/org/apache/camel/component/cache/CacheConfiguration.java @@ -20,22 +20,37 @@ import java.net.URI; import java.util.Map; import net.sf.ehcache.store.MemoryStoreEvictionPolicy; - import org.apache.camel.RuntimeCamelException; +import org.apache.camel.spi.UriParam; +import org.apache.camel.spi.UriParams; +import org.apache.camel.spi.UriPath; import org.apache.camel.util.URISupport; +@UriParams public class CacheConfiguration implements Cloneable { + @UriPath private String cacheName; + @UriParam(defaultValue = "1000") private int maxElementsInMemory = 1000; + @UriParam(defaultValue = "LFU") private MemoryStoreEvictionPolicy memoryStoreEvictionPolicy = MemoryStoreEvictionPolicy.LFU; + @UriParam(defaultValue = "true") private boolean overflowToDisk = true; + @UriParam private String diskStorePath; + @UriParam(defaultValue = "false") private boolean eternal; + @UriParam(defaultValue = "300") private long timeToLiveSeconds = 300; + @UriParam(defaultValue = "300") private long timeToIdleSeconds = 300; + @UriParam(defaultValue = "false") private boolean diskPersistent; + @UriParam(defaultValue = "false") private long diskExpiryThreadIntervalSeconds; + @UriParam private CacheEventListenerRegistry eventListenerRegistry = new CacheEventListenerRegistry(); + @UriParam private CacheLoaderRegistry cacheLoaderRegistry = new CacheLoaderRegistry(); public CacheConfiguration() { http://git-wip-us.apache.org/repos/asf/camel/blob/1faf2664/components/camel-cache/src/main/java/org/apache/camel/component/cache/CacheEndpoint.java ---------------------------------------------------------------------- diff --git a/components/camel-cache/src/main/java/org/apache/camel/component/cache/CacheEndpoint.java b/components/camel-cache/src/main/java/org/apache/camel/component/cache/CacheEndpoint.java index f751c9e..59bf88b 100755 --- a/components/camel-cache/src/main/java/org/apache/camel/component/cache/CacheEndpoint.java +++ b/components/camel-cache/src/main/java/org/apache/camel/component/cache/CacheEndpoint.java @@ -30,17 +30,23 @@ import org.apache.camel.Producer; import org.apache.camel.impl.DefaultEndpoint; import org.apache.camel.impl.DefaultExchange; import org.apache.camel.impl.DefaultMessage; +import org.apache.camel.spi.UriEndpoint; +import org.apache.camel.spi.UriParam; import org.apache.camel.util.ObjectHelper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +@UriEndpoint(scheme = "cache", consumerClass = CacheConsumer.class, label = "cache") public class CacheEndpoint extends DefaultEndpoint { private static final Logger LOG = LoggerFactory.getLogger(CacheEndpoint.class); + @UriParam private CacheConfiguration config; + @UriParam private CacheManagerFactory cacheManagerFactory; - - private String operation; + @UriParam private String key; + @UriParam + private String operation; public CacheEndpoint() { }