mirror of
https://github.com/spring-projects/spring-boot.git
synced 2024-08-29 03:06:45 +08:00
47 lines
812 B
Groovy
47 lines
812 B
Groovy
|
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()
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
}
|