cache change to Caffeine

This commit is contained in:
Crystal.Sea
2021-10-11 12:58:43 +08:00
parent 8b3c035102
commit f7966f5b12
34 changed files with 199 additions and 875 deletions

View File

@@ -17,21 +17,21 @@
package org.maxkey.authz.cas.endpoint.ticket.pgt;
import java.time.Duration;
import java.util.concurrent.TimeUnit;
import org.ehcache.UserManagedCache;
import org.ehcache.config.builders.ExpiryPolicyBuilder;
import org.ehcache.config.builders.UserManagedCacheBuilder;
import org.maxkey.authz.cas.endpoint.ticket.RandomServiceTicketServices;
import org.maxkey.authz.cas.endpoint.ticket.Ticket;
import com.github.benmanes.caffeine.cache.Cache;
import com.github.benmanes.caffeine.cache.Caffeine;
public class InMemoryProxyGrantingTicketServices extends RandomServiceTicketServices {
protected final static UserManagedCache<String, Ticket> casTicketStore =
UserManagedCacheBuilder.newUserManagedCacheBuilder(String.class, Ticket.class)
.withExpiry(ExpiryPolicyBuilder.timeToLiveExpiration(Duration.ofHours(1)))
.build(true);
protected final static Cache<String, Ticket> casTicketStore =
Caffeine.newBuilder()
.expireAfterWrite(60, TimeUnit.MINUTES)
.build();
@Override
@@ -41,15 +41,15 @@ public class InMemoryProxyGrantingTicketServices extends RandomServiceTicketServ
@Override
public Ticket remove(String ticketId) {
Ticket ticket=casTicketStore.get(ticketId);
casTicketStore.remove(ticketId);
Ticket ticket=casTicketStore.getIfPresent(ticketId);
casTicketStore.invalidate(ticketId);
return ticket;
}
@Override
public Ticket get(String ticket) {
// TODO Auto-generated method stub
return casTicketStore.get(ticket);
return casTicketStore.getIfPresent(ticket);
}
}

View File

@@ -17,21 +17,21 @@
package org.maxkey.authz.cas.endpoint.ticket.st;
import java.time.Duration;
import java.util.concurrent.TimeUnit;
import org.ehcache.UserManagedCache;
import org.ehcache.config.builders.ExpiryPolicyBuilder;
import org.ehcache.config.builders.UserManagedCacheBuilder;
import org.maxkey.authz.cas.endpoint.ticket.RandomServiceTicketServices;
import org.maxkey.authz.cas.endpoint.ticket.Ticket;
import com.github.benmanes.caffeine.cache.Cache;
import com.github.benmanes.caffeine.cache.Caffeine;
public class InMemoryTicketServices extends RandomServiceTicketServices {
protected final static UserManagedCache<String, Ticket> casTicketStore =
UserManagedCacheBuilder.newUserManagedCacheBuilder(String.class, Ticket.class)
.withExpiry(ExpiryPolicyBuilder.timeToLiveExpiration(Duration.ofSeconds(60)))
.build(true);
protected final static Cache<String, Ticket> casTicketStore =
Caffeine.newBuilder()
.expireAfterWrite(60, TimeUnit.MINUTES)
.build();
@Override
@@ -41,8 +41,8 @@ public class InMemoryTicketServices extends RandomServiceTicketServices {
@Override
public Ticket remove(String ticketId) {
Ticket ticket=casTicketStore.get(ticketId);
casTicketStore.remove(ticketId);
Ticket ticket=casTicketStore.getIfPresent(ticketId);
casTicketStore.invalidate(ticketId);
return ticket;
}

View File

@@ -17,22 +17,21 @@
package org.maxkey.authz.cas.endpoint.ticket.tgt;
import java.time.Duration;
import java.util.concurrent.TimeUnit;
import org.ehcache.UserManagedCache;
import org.ehcache.config.builders.ExpiryPolicyBuilder;
import org.ehcache.config.builders.UserManagedCacheBuilder;
import org.maxkey.authz.cas.endpoint.ticket.RandomServiceTicketServices;
import org.maxkey.authz.cas.endpoint.ticket.Ticket;
import com.github.benmanes.caffeine.cache.Cache;
import com.github.benmanes.caffeine.cache.Caffeine;
public class InMemoryTicketGrantingTicketServices extends RandomServiceTicketServices {
protected final static UserManagedCache<String, Ticket> casTicketGrantingTicketStore =
UserManagedCacheBuilder.newUserManagedCacheBuilder(String.class, Ticket.class)
.withExpiry(ExpiryPolicyBuilder.timeToLiveExpiration(Duration.ofDays(2)))
.build(true);
protected final static Cache<String, Ticket> casTicketGrantingTicketStore =
Caffeine.newBuilder()
.expireAfterWrite(2, TimeUnit.DAYS)
.build();
@Override
public void store(String ticketId, Ticket ticket) {
@@ -41,14 +40,14 @@ public class InMemoryTicketGrantingTicketServices extends RandomServiceTicketSer
@Override
public Ticket remove(String ticketId) {
Ticket ticket=casTicketGrantingTicketStore.get(ticketId);
casTicketGrantingTicketStore.remove(ticketId);
Ticket ticket=casTicketGrantingTicketStore.getIfPresent(ticketId);
casTicketGrantingTicketStore.invalidate(ticketId);
return ticket;
}
@Override
public Ticket get(String ticketId) {
Ticket ticket=casTicketGrantingTicketStore.get(ticketId);
Ticket ticket=casTicketGrantingTicketStore.getIfPresent(ticketId);
return ticket;
}