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
45915d08
Commit
45915d08
authored
Aug 02, 2019
by
Stephane Nicoll
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch '2.1.x'
Closes gh-17767
parents
89aefa6c
eb26492e
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
40 additions
and
24 deletions
+40
-24
Neo4jDataAutoConfiguration.java
.../autoconfigure/data/neo4j/Neo4jDataAutoConfiguration.java
+27
-21
Neo4jDataAutoConfigurationTests.java
...configure/data/neo4j/Neo4jDataAutoConfigurationTests.java
+10
-0
spring-boot-features.adoc
...ing-boot-docs/src/main/asciidoc/spring-boot-features.adoc
+3
-3
No files found.
spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/neo4j/Neo4jDataAutoConfiguration.java
View file @
45915d08
...
...
@@ -53,32 +53,18 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
* @author Vince Bickers
* @author Stephane Nicoll
* @author Kazuki Shimizu
* @author Michael Simons
* @since 1.4.0
*/
@Configuration
(
proxyBeanMethods
=
false
)
@ConditionalOnClass
({
SessionFactory
.
class
,
Neo4jTransactionManager
.
class
,
PlatformTransactionManager
.
class
})
@ConditionalOnMissingBean
(
SessionFactory
.
class
)
@EnableConfigurationProperties
(
Neo4jProperties
.
class
)
@Import
(
Neo4jBookmarkManagementConfiguration
.
class
)
public
class
Neo4jDataAutoConfiguration
{
@Bean
@ConditionalOnMissingBean
public
org
.
neo4j
.
ogm
.
config
.
Configuration
configuration
(
Neo4jProperties
properties
)
{
return
properties
.
createConfiguration
();
}
@Bean
public
SessionFactory
sessionFactory
(
org
.
neo4j
.
ogm
.
config
.
Configuration
configuration
,
ApplicationContext
applicationContext
,
ObjectProvider
<
EventListener
>
eventListeners
)
{
SessionFactory
sessionFactory
=
new
SessionFactory
(
configuration
,
getPackagesToScan
(
applicationContext
));
eventListeners
.
stream
().
forEach
(
sessionFactory:
:
register
);
return
sessionFactory
;
}
@Bean
@ConditionalOnMissingBean
(
PlatformTransactionManager
.
class
)
public
Neo4jTransactionManager
transactionManager
(
SessionFactory
sessionFactory
,
Neo4jProperties
properties
,
public
Neo4jTransactionManager
transactionManager
(
SessionFactory
sessionFactory
,
ObjectProvider
<
TransactionManagerCustomizers
>
transactionManagerCustomizers
)
{
return
customize
(
new
Neo4jTransactionManager
(
sessionFactory
),
transactionManagerCustomizers
.
getIfAvailable
());
}
...
...
@@ -91,12 +77,32 @@ public class Neo4jDataAutoConfiguration {
return
transactionManager
;
}
private
String
[]
getPackagesToScan
(
ApplicationContext
applicationContext
)
{
List
<
String
>
packages
=
EntityScanPackages
.
get
(
applicationContext
).
getPackageNames
();
if
(
packages
.
isEmpty
()
&&
AutoConfigurationPackages
.
has
(
applicationContext
))
{
packages
=
AutoConfigurationPackages
.
get
(
applicationContext
);
@Configuration
(
proxyBeanMethods
=
false
)
@ConditionalOnMissingBean
(
SessionFactory
.
class
)
protected
static
class
Neo4jOgmSessionFactoryConfiguration
{
@Bean
@ConditionalOnMissingBean
public
org
.
neo4j
.
ogm
.
config
.
Configuration
configuration
(
Neo4jProperties
properties
)
{
return
properties
.
createConfiguration
();
}
@Bean
public
SessionFactory
sessionFactory
(
org
.
neo4j
.
ogm
.
config
.
Configuration
configuration
,
ApplicationContext
applicationContext
,
ObjectProvider
<
EventListener
>
eventListeners
)
{
SessionFactory
sessionFactory
=
new
SessionFactory
(
configuration
,
getPackagesToScan
(
applicationContext
));
eventListeners
.
stream
().
forEach
(
sessionFactory:
:
register
);
return
sessionFactory
;
}
return
StringUtils
.
toStringArray
(
packages
);
private
String
[]
getPackagesToScan
(
ApplicationContext
applicationContext
)
{
List
<
String
>
packages
=
EntityScanPackages
.
get
(
applicationContext
).
getPackageNames
();
if
(
packages
.
isEmpty
()
&&
AutoConfigurationPackages
.
has
(
applicationContext
))
{
packages
=
AutoConfigurationPackages
.
get
(
applicationContext
);
}
return
StringUtils
.
toStringArray
(
packages
);
}
}
@Configuration
(
proxyBeanMethods
=
false
)
...
...
spring-boot-project/spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/neo4j/Neo4jDataAutoConfigurationTests.java
View file @
45915d08
...
...
@@ -99,6 +99,16 @@ class Neo4jDataAutoConfigurationTests {
});
}
@Test
void
customSessionFactoryShouldNotDisableOtherDefaults
()
{
this
.
contextRunner
.
withUserConfiguration
(
CustomSessionFactory
.
class
).
run
((
context
)
->
{
assertThat
(
context
).
hasSingleBean
(
SessionFactory
.
class
);
assertThat
(
context
.
getBean
(
SessionFactory
.
class
)).
isSameAs
(
context
.
getBean
(
"customSessionFactory"
));
assertThat
(
context
).
hasSingleBean
(
Neo4jTransactionManager
.
class
);
assertThat
(
context
).
hasSingleBean
(
OpenSessionInViewInterceptor
.
class
);
});
}
@Test
void
customConfiguration
()
{
this
.
contextRunner
.
withUserConfiguration
(
CustomConfiguration
.
class
).
run
((
context
)
->
{
...
...
spring-boot-project/spring-boot-docs/src/main/asciidoc/spring-boot-features.adoc
View file @
45915d08
...
...
@@ -4667,9 +4667,9 @@ properties, as shown in the following example:
spring.data.neo4j.password=secret
----
You can take full control over the session creation by adding a
`org.neo4j.ogm.config.Configuration`
`@Bean`. Also, adding a `@Bean` of type
`SessionFactory` disables the auto-configuration and gives you full control
.
You can take full control over the session creation by
either
adding a
`org.neo4j.ogm.config.Configuration`
bean or a `org.neo4j.ogm.session.SessionFactory`
bean
.
...
...
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