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.
47 lines
812 B
Groovy
47 lines
812 B
Groovy
10 years ago
|
package org.test
|
||
|
|
||
|
import java.util.concurrent.atomic.AtomicLong
|
||
|
|
||
|
@Configuration
|
||
|
@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()
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
}
|