You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
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()
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|