Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
S
spring-boot
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
DEMO
spring-boot
Commits
dd6bf573
Commit
dd6bf573
authored
Aug 28, 2014
by
Stephane Nicoll
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add support for EnableCaching in the cli
Fixes gh-1431
parent
a0c316d3
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
111 additions
and
1 deletion
+111
-1
CachingAutoConfiguration.java
.../cli/compiler/autoconfigure/CachingAutoConfiguration.java
+53
-0
org.springframework.boot.cli.compiler.CompilerAutoConfiguration
...ringframework.boot.cli.compiler.CompilerAutoConfiguration
+1
-0
ReproIntegrationTests.java
...a/org/springframework/boot/cli/ReproIntegrationTests.java
+6
-0
caching.groovy
...-boot-cli/src/test/resources/repro-samples/caching.groovy
+47
-0
spring-boot-cli.adoc
spring-boot-docs/src/main/asciidoc/spring-boot-cli.adoc
+4
-1
No files found.
spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/autoconfigure/CachingAutoConfiguration.java
0 → 100644
View file @
dd6bf573
/*
* Copyright 2012-2014 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org
.
springframework
.
boot
.
cli
.
compiler
.
autoconfigure
;
import
org.codehaus.groovy.ast.ClassNode
;
import
org.codehaus.groovy.control.CompilationFailedException
;
import
org.codehaus.groovy.control.customizers.ImportCustomizer
;
import
org.springframework.boot.cli.compiler.AstUtils
;
import
org.springframework.boot.cli.compiler.CompilerAutoConfiguration
;
import
org.springframework.boot.cli.compiler.DependencyCustomizer
;
/**
* {@link CompilerAutoConfiguration} for the caching infrastructure.
*
* @author Stephane Nicoll
* @since 1.2.0
*/
public
class
CachingAutoConfiguration
extends
CompilerAutoConfiguration
{
@Override
public
boolean
matches
(
ClassNode
classNode
)
{
return
AstUtils
.
hasAtLeastOneAnnotation
(
classNode
,
"EnableCaching"
);
}
@Override
public
void
applyDependencies
(
DependencyCustomizer
dependencies
)
throws
CompilationFailedException
{
dependencies
.
add
(
"spring-context-support"
);
}
@Override
public
void
applyImports
(
ImportCustomizer
imports
)
throws
CompilationFailedException
{
imports
.
addStarImports
(
"org.springframework.cache"
,
"org.springframework.cache.annotation"
,
"org.springframework.cache.concurrent"
);
}
}
spring-boot-cli/src/main/resources/META-INF/services/org.springframework.boot.cli.compiler.CompilerAutoConfiguration
View file @
dd6bf573
...
@@ -4,6 +4,7 @@ org.springframework.boot.cli.compiler.autoconfigure.SpringMvcCompilerAutoConfigu
...
@@ -4,6 +4,7 @@ org.springframework.boot.cli.compiler.autoconfigure.SpringMvcCompilerAutoConfigu
org.springframework.boot.cli.compiler.autoconfigure.SpringBatchCompilerAutoConfiguration
org.springframework.boot.cli.compiler.autoconfigure.SpringBatchCompilerAutoConfiguration
org.springframework.boot.cli.compiler.autoconfigure.RabbitCompilerAutoConfiguration
org.springframework.boot.cli.compiler.autoconfigure.RabbitCompilerAutoConfiguration
org.springframework.boot.cli.compiler.autoconfigure.ReactorCompilerAutoConfiguration
org.springframework.boot.cli.compiler.autoconfigure.ReactorCompilerAutoConfiguration
org.springframework.boot.cli.compiler.autoconfigure.CachingAutoConfiguration
org.springframework.boot.cli.compiler.autoconfigure.JdbcCompilerAutoConfiguration
org.springframework.boot.cli.compiler.autoconfigure.JdbcCompilerAutoConfiguration
org.springframework.boot.cli.compiler.autoconfigure.JmsCompilerAutoConfiguration
org.springframework.boot.cli.compiler.autoconfigure.JmsCompilerAutoConfiguration
org.springframework.boot.cli.compiler.autoconfigure.JUnitCompilerAutoConfiguration
org.springframework.boot.cli.compiler.autoconfigure.JUnitCompilerAutoConfiguration
...
...
spring-boot-cli/src/test/java/org/springframework/boot/cli/ReproIntegrationTests.java
View file @
dd6bf573
...
@@ -78,4 +78,10 @@ public class ReproIntegrationTests {
...
@@ -78,4 +78,10 @@ public class ReproIntegrationTests {
this
.
cli
.
run
(
"jms.groovy"
);
this
.
cli
.
run
(
"jms.groovy"
);
assertThat
(
this
.
cli
.
getOutput
(),
containsString
(
"Hello World"
));
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"
));
}
}
}
spring-boot-cli/src/test/resources/repro-samples/caching.groovy
0 → 100644
View file @
dd6bf573
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
()
}
}
}
\ No newline at end of file
spring-boot-docs/src/main/asciidoc/spring-boot-cli.adoc
View file @
dd6bf573
...
@@ -113,9 +113,12 @@ The following items are used as ``grab hints'':
...
@@ -113,9 +113,12 @@ The following items are used as ``grab hints'':
|`JdbcTemplate`, `NamedParameterJdbcTemplate`, `DataSource`
|`JdbcTemplate`, `NamedParameterJdbcTemplate`, `DataSource`
|JDBC Application.
|JDBC Application.
|`@EnableJms
Messaging
`
|`@EnableJms`
|JMS Application.
|JMS Application.
|`@EnableCaching`
|Caching abstraction.
|`@Test`
|`@Test`
|JUnit.
|JUnit.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment