
Move projects to better reflect the way that Spring Boot is released. The following projects are under `spring-boot-project`: - `spring-boot` - `spring-boot-autoconfigure` - `spring-boot-tools` - `spring-boot-starters` - `spring-boot-actuator` - `spring-boot-actuator-autoconfigure` - `spring-boot-test` - `spring-boot-test-autoconfigure` - `spring-boot-devtools` - `spring-boot-cli` - `spring-boot-docs` See gh-9316
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()
|
|
}
|
|
|
|
}
|
|
|
|
} |