You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ac...@apache.org on 2022/01/31 11:45:00 UTC
[camel] branch main updated: Camel-Caffeine: Minor Refactor
This is an automated email from the ASF dual-hosted git repository.
acosentino pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new 62c257f Camel-Caffeine: Minor Refactor
62c257f is described below
commit 62c257f7c2458967fb4df229890aee9a37662b42
Author: Andrea Cosentino <an...@gmail.com>
AuthorDate: Mon Jan 31 12:42:48 2022 +0100
Camel-Caffeine: Minor Refactor
---
.../caffeine/cache/CaffeineCacheEndpoint.java | 38 ++++++++++++----------
.../caffeine/load/CaffeineLoadCacheEndpoint.java | 24 ++------------
2 files changed, 23 insertions(+), 39 deletions(-)
diff --git a/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheEndpoint.java b/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheEndpoint.java
index 521bfe5..ea08224 100644
--- a/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheEndpoint.java
+++ b/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/cache/CaffeineCacheEndpoint.java
@@ -69,23 +69,7 @@ public class CaffeineCacheEndpoint extends DefaultEndpoint {
if (cache == null) {
if (configuration.isCreateCacheIfNotExist()) {
Caffeine<?, ?> builder = Caffeine.newBuilder();
- if (configuration.getEvictionType() == EvictionType.SIZE_BASED) {
- builder.initialCapacity(configuration.getInitialCapacity());
- builder.maximumSize(configuration.getMaximumSize());
- } else if (configuration.getEvictionType() == EvictionType.TIME_BASED) {
- builder.expireAfterAccess(configuration.getExpireAfterAccessTime(), TimeUnit.SECONDS);
- builder.expireAfterWrite(configuration.getExpireAfterWriteTime(), TimeUnit.SECONDS);
- }
- if (configuration.isStatsEnabled()) {
- if (ObjectHelper.isEmpty(configuration.getStatsCounter())) {
- builder.recordStats();
- } else {
- builder.recordStats(configuration::getStatsCounter);
- }
- }
- if (ObjectHelper.isNotEmpty(configuration.getRemovalListener())) {
- builder.removalListener(configuration.getRemovalListener());
- }
+ defineBuilder(builder, configuration);
cache = builder.build();
} else {
throw new IllegalArgumentException(
@@ -95,6 +79,26 @@ public class CaffeineCacheEndpoint extends DefaultEndpoint {
super.doStart();
}
+ public static void defineBuilder(Caffeine<?, ?> builder, CaffeineConfiguration configuration) {
+ if (configuration.getEvictionType() == EvictionType.SIZE_BASED) {
+ builder.initialCapacity(configuration.getInitialCapacity());
+ builder.maximumSize(configuration.getMaximumSize());
+ } else if (configuration.getEvictionType() == EvictionType.TIME_BASED) {
+ builder.expireAfterAccess(configuration.getExpireAfterAccessTime(), TimeUnit.SECONDS);
+ builder.expireAfterWrite(configuration.getExpireAfterWriteTime(), TimeUnit.SECONDS);
+ }
+ if (configuration.isStatsEnabled()) {
+ if (ObjectHelper.isEmpty(configuration.getStatsCounter())) {
+ builder.recordStats();
+ } else {
+ builder.recordStats(configuration::getStatsCounter);
+ }
+ }
+ if (ObjectHelper.isNotEmpty(configuration.getRemovalListener())) {
+ builder.removalListener(configuration.getRemovalListener());
+ }
+ }
+
@Override
protected void doStop() throws Exception {
super.doStop();
diff --git a/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheEndpoint.java b/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheEndpoint.java
index c15e89e..70402ce 100644
--- a/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheEndpoint.java
+++ b/components/camel-caffeine/src/main/java/org/apache/camel/component/caffeine/load/CaffeineLoadCacheEndpoint.java
@@ -16,9 +16,6 @@
*/
package org.apache.camel.component.caffeine.load;
-import java.util.concurrent.TimeUnit;
-
-import com.github.benmanes.caffeine.cache.Cache;
import com.github.benmanes.caffeine.cache.Caffeine;
import com.github.benmanes.caffeine.cache.LoadingCache;
import org.apache.camel.Category;
@@ -27,14 +24,13 @@ import org.apache.camel.Consumer;
import org.apache.camel.Processor;
import org.apache.camel.Producer;
import org.apache.camel.component.caffeine.CaffeineConfiguration;
-import org.apache.camel.component.caffeine.EvictionType;
+import org.apache.camel.component.caffeine.cache.CaffeineCacheEndpoint;
import org.apache.camel.spi.Metadata;
import org.apache.camel.spi.UriEndpoint;
import org.apache.camel.spi.UriParam;
import org.apache.camel.spi.UriPath;
import org.apache.camel.support.CamelContextHelper;
import org.apache.camel.support.DefaultEndpoint;
-import org.apache.camel.util.ObjectHelper;
/**
* Perform caching operations using Caffeine Cache with an attached CacheLoader.
@@ -70,23 +66,7 @@ public class CaffeineLoadCacheEndpoint extends DefaultEndpoint {
if (cache == null) {
if (configuration.isCreateCacheIfNotExist()) {
Caffeine<Object, Object> builder = Caffeine.newBuilder();
- if (configuration.getEvictionType() == EvictionType.SIZE_BASED) {
- builder.initialCapacity(configuration.getInitialCapacity());
- builder.maximumSize(configuration.getMaximumSize());
- } else if (configuration.getEvictionType() == EvictionType.TIME_BASED) {
- builder.expireAfterAccess(configuration.getExpireAfterAccessTime(), TimeUnit.SECONDS);
- builder.expireAfterWrite(configuration.getExpireAfterWriteTime(), TimeUnit.SECONDS);
- }
- if (configuration.isStatsEnabled()) {
- if (ObjectHelper.isEmpty(configuration.getStatsCounter())) {
- builder.recordStats();
- } else {
- builder.recordStats(configuration::getStatsCounter);
- }
- }
- if (ObjectHelper.isNotEmpty(configuration.getRemovalListener())) {
- builder.removalListener(configuration.getRemovalListener());
- }
+ CaffeineCacheEndpoint.defineBuilder(builder, configuration);
cache = builder.build(configuration.getCacheLoader());
} else {
throw new IllegalArgumentException(