You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
836 B
47 lines
836 B
package org.test |
|
|
|
import java.util.concurrent.atomic.AtomicLong |
|
|
|
@Configuration(proxyBeanMethods = false) |
|
@EnableCaching |
|
class Sample { |
|
|
|
@Bean CacheManager cacheManager() { |
|
new ConcurrentMapCacheManager() |
|
} |
|
|
|
@Component |
|
static class MyClient implements CommandLineRunner { |
|
|
|
private final MyService myService |
|
|
|
@Autowired |
|
MyClient(MyService myService) { |
|
this.myService = myService |
|
} |
|
|
|
void run(String... args) { |
|
long counter = myService.get('someKey') |
|
long counter2 = myService.get('someKey') |
|
if (counter == counter2) { |
|
println 'Hello World' |
|
} else { |
|
println 'Something went wrong with the cache setup' |
|
} |
|
|
|
} |
|
} |
|
|
|
@Component |
|
static class MyService { |
|
|
|
private final AtomicLong counter = new AtomicLong() |
|
|
|
@Cacheable('foo') |
|
Long get(String id) { |
|
return counter.getAndIncrement() |
|
} |
|
|
|
} |
|
|
|
} |