Skip to content

Commit 708a413

Browse files
authored
Merge pull request #102 from sswguo/slim_image
Replace infinispan with the lightweight caffeine
2 parents 9221c85 + 6c6d9e2 commit 708a413

File tree

3 files changed

+27
-36
lines changed

3 files changed

+27
-36
lines changed

pom.xml

+11-15
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,6 @@
122122
<groupId>io.quarkus</groupId>
123123
<artifactId>quarkus-rest-client-mutiny</artifactId>
124124
</dependency>
125-
126125
<dependency>
127126
<groupId>io.quarkus</groupId>
128127
<artifactId>quarkus-vertx</artifactId>
@@ -132,25 +131,28 @@
132131
<artifactId>indy-model-core-java</artifactId>
133132
<version>${indyModelVersion}</version>
134133
</dependency>
135-
136134
<dependency>
137135
<groupId>org.keycloak</groupId>
138136
<artifactId>keycloak-core</artifactId>
139137
<version>${keycloakVersion}</version>
140138
</dependency>
139+
141140
<dependency>
142141
<groupId>org.keycloak</groupId>
143142
<artifactId>keycloak-adapter-core</artifactId>
144143
<version>${keycloakVersion}</version>
145144
</dependency>
146-
147145
<dependency>
148-
<groupId>io.quarkus</groupId>
149-
<artifactId>quarkus-micrometer-registry-prometheus</artifactId>
146+
<groupId>io.opentelemetry</groupId>
147+
<artifactId>opentelemetry-sdk</artifactId>
150148
</dependency>
151149
<dependency>
152-
<groupId>io.quarkus</groupId>
153-
<artifactId>quarkus-opentelemetry-exporter-otlp</artifactId>
150+
<groupId>io.micrometer</groupId>
151+
<artifactId>micrometer-registry-prometheus</artifactId>
152+
</dependency>
153+
<dependency>
154+
<groupId>io.opentelemetry</groupId>
155+
<artifactId>opentelemetry-semconv</artifactId>
154156
</dependency>
155157

156158
<dependency>
@@ -174,14 +176,8 @@
174176
</dependency>
175177

176178
<dependency>
177-
<groupId>org.infinispan</groupId>
178-
<artifactId>infinispan-core-jakarta</artifactId>
179-
<version>${infinispanVersion}</version>
180-
</dependency>
181-
<dependency>
182-
<groupId>org.infinispan</groupId>
183-
<artifactId>infinispan-commons-jakarta</artifactId>
184-
<version>${infinispanVersion}</version>
179+
<groupId>com.github.ben-manes.caffeine</groupId>
180+
<artifactId>caffeine</artifactId>
185181
</dependency>
186182
<dependency>
187183
<groupId>com.google.guava</groupId>

src/main/java/org/commonjava/indy/service/httprox/util/CacheProducer.java

+11-16
Original file line numberDiff line numberDiff line change
@@ -15,44 +15,39 @@
1515
*/
1616
package org.commonjava.indy.service.httprox.util;
1717

18-
import org.infinispan.Cache;
19-
import org.infinispan.configuration.cache.ConfigurationBuilder;
20-
import org.infinispan.manager.DefaultCacheManager;
21-
import org.infinispan.manager.EmbeddedCacheManager;
22-
18+
import com.github.benmanes.caffeine.cache.Cache;
19+
import com.github.benmanes.caffeine.cache.Caffeine;
2320
import jakarta.annotation.PostConstruct;
2421
import jakarta.enterprise.context.ApplicationScoped;
22+
2523
import java.util.Map;
2624
import java.util.concurrent.ConcurrentHashMap;
25+
import java.util.concurrent.TimeUnit;
2726

2827
@ApplicationScoped
2928
public class CacheProducer
3029
{
3130

32-
private EmbeddedCacheManager cacheManager;
33-
3431
private Map<String, Cache> caches = new ConcurrentHashMap<>();
3532

3633
@PostConstruct
3734
public void start()
3835
{
39-
startEmbeddedManager();
40-
}
4136

42-
private void startEmbeddedManager()
43-
{
44-
cacheManager = new DefaultCacheManager();
4537
}
4638

4739
public synchronized <K, V> Cache<K, V> getCache( String named )
4840
{
49-
return caches.computeIfAbsent( named, ( k ) -> buildCache(named));
41+
return caches.computeIfAbsent( named, ( k ) -> buildCache());
5042
}
5143

52-
private Cache buildCache(String named)
44+
private Cache buildCache()
5345
{
54-
cacheManager.defineConfiguration( named, new ConfigurationBuilder().build() );
55-
return cacheManager.getCache(named, Boolean.TRUE);
46+
Cache<String, String> cache = Caffeine.newBuilder()
47+
.maximumSize( 50 )
48+
.expireAfterAccess(15, TimeUnit.MINUTES)
49+
.build();
50+
return cache;
5651
}
5752

5853

src/main/java/org/commonjava/indy/service/httprox/util/ProxyResponseHelper.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@
3333
import org.commonjava.indy.service.httprox.handler.ProxyCreationResult;
3434
import org.commonjava.indy.service.httprox.handler.ProxyRepositoryCreator;
3535
import org.commonjava.indy.service.httprox.model.TrackingKey;
36-
import org.infinispan.Cache;
36+
import com.github.benmanes.caffeine.cache.Cache;
3737
import org.slf4j.Logger;
3838
import org.slf4j.LoggerFactory;
3939

@@ -151,9 +151,9 @@ private ArtifactStore doGetArtifactStore(String trackingId, final URL url )
151151

152152
if ( trackingId != null )
153153
{
154-
if ( cache.get( groupName ) != null )
154+
if ( cache.getIfPresent( groupName ) != null )
155155
{
156-
return (ArtifactStore) cache.get( groupName );
156+
return (ArtifactStore) cache.getIfPresent( groupName );
157157
}
158158

159159
Group group = null;
@@ -165,7 +165,7 @@ private ArtifactStore doGetArtifactStore(String trackingId, final URL url )
165165
if ( response != null && response.getStatus() == HttpStatus.SC_OK )
166166
{
167167
group = (Group)response.readEntity(ArtifactStore.class);
168-
cache.put(groupName, group, 15, TimeUnit.MINUTES);
168+
cache.put(groupName, group);
169169
}
170170
}
171171
catch ( WebApplicationException e )
@@ -176,7 +176,7 @@ private ArtifactStore doGetArtifactStore(String trackingId, final URL url )
176176
url, trackingId );
177177
ProxyCreationResult result = createRepo( trackingId, url, null );
178178
group = result.getGroup();
179-
cache.put(groupName, group, 15, TimeUnit.MINUTES);
179+
cache.put(groupName, group);
180180
return group;
181181
}
182182
else

0 commit comments

Comments
 (0)