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
e06198e9
Commit
e06198e9
authored
Nov 06, 2015
by
Phillip Webb
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Polish
parent
ce73dec9
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
31 additions
and
18 deletions
+31
-18
HazelcastJpaDependencyAutoConfiguration.java
...re/hazelcast/HazelcastJpaDependencyAutoConfiguration.java
+7
-5
CacheAutoConfigurationTests.java
...boot/autoconfigure/cache/CacheAutoConfigurationTests.java
+6
-5
HazelcastJpaDependencyAutoConfigurationTests.java
...zelcast/HazelcastJpaDependencyAutoConfigurationTests.java
+18
-8
No files found.
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/hazelcast/HazelcastJpaDependencyAutoConfiguration.java
View file @
e06198e9
...
...
@@ -33,15 +33,16 @@ import org.springframework.orm.jpa.AbstractEntityManagerFactoryBean;
import
org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean
;
/**
* Additional configuration to ensure that {@link EntityManagerFactory} beans
*
depend-on
the {@code hazelcastInstance} bean.
* Additional configuration to ensure that {@link EntityManagerFactory} beans
depend-on
* the {@code hazelcastInstance} bean.
*
* @author Stephane Nicoll
* @since 1.3.0
*/
@Configuration
@ConditionalOnClass
({
HazelcastInstance
.
class
,
LocalContainerEntityManagerFactoryBean
.
class
})
@AutoConfigureAfter
({
HazelcastAutoConfiguration
.
class
,
HibernateJpaAutoConfiguration
.
class
})
@ConditionalOnClass
({
HazelcastInstance
.
class
,
LocalContainerEntityManagerFactoryBean
.
class
})
@AutoConfigureAfter
({
HazelcastAutoConfiguration
.
class
,
HibernateJpaAutoConfiguration
.
class
})
class
HazelcastJpaDependencyAutoConfiguration
{
@Bean
...
...
@@ -56,6 +57,7 @@ class HazelcastJpaDependencyAutoConfiguration {
HazelcastInstanceJpaDependencyPostProcessor
()
{
super
(
"hazelcastInstance"
);
}
}
static
class
OnHazelcastAndJpaCondition
extends
AllNestedConditions
{
...
...
spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/cache/CacheAutoConfigurationTests.java
View file @
e06198e9
...
...
@@ -382,8 +382,8 @@ public class CacheAutoConfigurationTests {
public
void
hazelcastCacheWithMainHazelcastAutoConfiguration
()
throws
IOException
{
String
mainConfig
=
"org/springframework/boot/autoconfigure/hazelcast/hazelcast-specific.xml"
;
AnnotationConfigApplicationContext
applicationContext
=
new
AnnotationConfigApplicationContext
();
EnvironmentTestUtils
.
addEnvironment
(
applicationContext
,
"spring.cache.type=hazelcast"
,
"spring.hazelcast.config="
+
mainConfig
);
EnvironmentTestUtils
.
addEnvironment
(
applicationContext
,
"spring.
cache.type=hazelcast"
,
"spring.
hazelcast.config="
+
mainConfig
);
applicationContext
.
register
(
DefaultCacheConfiguration
.
class
);
applicationContext
.
register
(
HazelcastAndCacheConfiguration
.
class
);
applicationContext
.
refresh
();
...
...
@@ -404,14 +404,14 @@ public class CacheAutoConfigurationTests {
String
mainConfig
=
"org/springframework/boot/autoconfigure/hazelcast/hazelcast-specific.xml"
;
String
cacheConfig
=
"org/springframework/boot/autoconfigure/cache/hazelcast-specific.xml"
;
AnnotationConfigApplicationContext
applicationContext
=
new
AnnotationConfigApplicationContext
();
EnvironmentTestUtils
.
addEnvironment
(
applicationContext
,
"spring.cache.type=hazelcast"
,
EnvironmentTestUtils
.
addEnvironment
(
applicationContext
,
"spring.cache.type=hazelcast"
,
"spring.cache.hazelcast.config="
+
cacheConfig
,
"spring.hazelcast.config="
+
mainConfig
);
applicationContext
.
register
(
DefaultCacheConfiguration
.
class
);
applicationContext
.
register
(
HazelcastAndCacheConfiguration
.
class
);
applicationContext
.
refresh
();
this
.
context
=
applicationContext
;
HazelcastInstance
hazelcastInstance
=
this
.
context
.
getBean
(
HazelcastInstance
.
class
);
HazelcastCacheManager
cacheManager
=
validateCacheManager
(
...
...
@@ -681,7 +681,8 @@ public class CacheAutoConfigurationTests {
}
@Configuration
@ImportAutoConfiguration
({
CacheAutoConfiguration
.
class
,
HazelcastAutoConfiguration
.
class
})
@ImportAutoConfiguration
({
CacheAutoConfiguration
.
class
,
HazelcastAutoConfiguration
.
class
})
static
class
HazelcastAndCacheConfiguration
{
}
...
...
spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/hazelcast/HazelcastJpaDependencyAutoConfigurationTests.java
View file @
e06198e9
...
...
@@ -19,6 +19,7 @@ package org.springframework.boot.autoconfigure.hazelcast;
import
java.util.Arrays
;
import
java.util.Collections
;
import
java.util.List
;
import
java.util.Map
;
import
com.hazelcast.core.HazelcastInstance
;
import
org.junit.After
;
...
...
@@ -57,7 +58,7 @@ public class HazelcastJpaDependencyAutoConfigurationTests {
@Test
public
void
registrationIfHazelcastInstanceHasRegularBeanName
()
{
load
(
HazelcastConfiguration
.
class
);
assertThat
(
this
.
context
.
getBeansOfType
(
EntityManagerFactoryDependsOnPostProcessor
.
class
),
assertThat
(
getPostProcessor
(
),
hasKey
(
"hazelcastInstanceJpaDependencyPostProcessor"
));
assertThat
(
getEntityManagerFactoryDependencies
(),
hasItem
(
"hazelcastInstance"
));
}
...
...
@@ -65,16 +66,18 @@ public class HazelcastJpaDependencyAutoConfigurationTests {
@Test
public
void
noRegistrationIfHazelcastInstanceHasCustomBeanName
()
{
load
(
HazelcastCustomNameConfiguration
.
class
);
assertThat
(
getEntityManagerFactoryDependencies
(),
not
(
hasItem
(
"hazelcastInstance"
)));
assertThat
(
this
.
context
.
getBeansOfType
(
EntityManagerFactoryDependsOnPostProcessor
.
class
),
assertThat
(
getEntityManagerFactoryDependencies
(),
not
(
hasItem
(
"hazelcastInstance"
)));
assertThat
(
getPostProcessor
(),
not
(
hasKey
(
"hazelcastInstanceJpaDependencyPostProcessor"
)));
}
@Test
public
void
noRegistrationWithNoHazelcastInstance
()
{
load
(
null
);
assertThat
(
getEntityManagerFactoryDependencies
(),
not
(
hasItem
(
"hazelcastInstance"
)));
assertThat
(
this
.
context
.
getBeansOfType
(
EntityManagerFactoryDependsOnPostProcessor
.
class
),
assertThat
(
getEntityManagerFactoryDependencies
(),
not
(
hasItem
(
"hazelcastInstance"
)));
assertThat
(
getPostProcessor
(),
not
(
hasKey
(
"hazelcastInstanceJpaDependencyPostProcessor"
)));
}
...
...
@@ -84,13 +87,20 @@ public class HazelcastJpaDependencyAutoConfigurationTests {
this
.
context
.
register
(
HazelcastConfiguration
.
class
,
HazelcastJpaDependencyAutoConfiguration
.
class
);
this
.
context
.
refresh
();
assertThat
(
this
.
context
.
getBeansOfType
(
EntityManagerFactoryDependsOnPostProcessor
.
class
),
assertThat
(
getPostProcessor
(
),
not
(
hasKey
(
"hazelcastInstanceJpaDependencyPostProcessor"
)));
}
private
Map
<
String
,
EntityManagerFactoryDependsOnPostProcessor
>
getPostProcessor
()
{
return
this
.
context
.
getBeansOfType
(
EntityManagerFactoryDependsOnPostProcessor
.
class
);
}
private
List
<
String
>
getEntityManagerFactoryDependencies
()
{
String
[]
dependsOn
=
this
.
context
.
getBeanDefinition
(
"entityManagerFactory"
).
getDependsOn
();
return
dependsOn
!=
null
?
Arrays
.
asList
(
dependsOn
)
:
Collections
.<
String
>
emptyList
();
String
[]
dependsOn
=
this
.
context
.
getBeanDefinition
(
"entityManagerFactory"
)
.
getDependsOn
();
return
dependsOn
!=
null
?
Arrays
.
asList
(
dependsOn
)
:
Collections
.<
String
>
emptyList
();
}
public
void
load
(
Class
<?>
config
)
{
...
...
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