Add support for EnableCaching in the cli

Fixes gh-1431
This commit is contained in:
Stephane Nicoll
2014-08-28 17:13:16 +02:00
parent a0c316d392
commit dd6bf5730d
5 changed files with 111 additions and 1 deletions

View File

@@ -78,4 +78,10 @@ public class ReproIntegrationTests {
this.cli.run("jms.groovy");
assertThat(this.cli.getOutput(), containsString("Hello World"));
}
@Test
public void caching() throws Exception {
this.cli.run("caching.groovy");
assertThat(this.cli.getOutput(), containsString("Hello World"));
}
}

View File

@@ -0,0 +1,47 @@
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()
}
}
}