Automatically enable transaction management for Neo4j
This commit makes sure that `@EnableTransactionManagement` is auto-configured with Neo4j. It actually reuses what was done in #8434, making sure that the `Neo4jDataAutoConfiguration` is ordered properly. Closes gh-8587
This commit is contained in:
parent
db33a75484
commit
0163731043
|
|
@ -23,14 +23,12 @@ import org.neo4j.ogm.session.event.EventListener;
|
|||
|
||||
import org.springframework.beans.factory.ObjectProvider;
|
||||
import org.springframework.boot.autoconfigure.AutoConfigurationPackages;
|
||||
import org.springframework.boot.autoconfigure.AutoConfigureAfter;
|
||||
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
|
||||
import org.springframework.boot.autoconfigure.domain.EntityScanPackages;
|
||||
import org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.transaction.TransactionManagerCustomizers;
|
||||
import org.springframework.boot.context.properties.EnableConfigurationProperties;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
|
|
@ -55,7 +53,6 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter
|
|||
* @since 1.4.0
|
||||
*/
|
||||
@Configuration
|
||||
@AutoConfigureAfter(TransactionAutoConfiguration.class)
|
||||
@ConditionalOnClass({ SessionFactory.class, PlatformTransactionManager.class })
|
||||
@ConditionalOnMissingBean(SessionFactory.class)
|
||||
@EnableConfigurationProperties(Neo4jProperties.class)
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
|||
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnSingleCandidate;
|
||||
import org.springframework.boot.autoconfigure.data.neo4j.Neo4jDataAutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.jdbc.DataSourceTransactionManagerAutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration;
|
||||
import org.springframework.boot.autoconfigure.transaction.jta.JtaAutoConfiguration;
|
||||
|
|
@ -46,7 +47,8 @@ import org.springframework.transaction.support.TransactionTemplate;
|
|||
@Configuration
|
||||
@ConditionalOnClass(PlatformTransactionManager.class)
|
||||
@AutoConfigureAfter({ JtaAutoConfiguration.class, HibernateJpaAutoConfiguration.class,
|
||||
DataSourceTransactionManagerAutoConfiguration.class })
|
||||
DataSourceTransactionManagerAutoConfiguration.class,
|
||||
Neo4jDataAutoConfiguration.class })
|
||||
@EnableConfigurationProperties(TransactionProperties.class)
|
||||
public class TransactionAutoConfiguration {
|
||||
|
||||
|
|
|
|||
|
|
@ -155,7 +155,7 @@ public class Neo4jDataAutoConfigurationTests {
|
|||
ctx.register(config);
|
||||
}
|
||||
ctx.register(PropertyPlaceholderAutoConfiguration.class,
|
||||
TransactionAutoConfiguration.class, Neo4jDataAutoConfiguration.class);
|
||||
Neo4jDataAutoConfiguration.class, TransactionAutoConfiguration.class);
|
||||
ctx.refresh();
|
||||
this.context = ctx;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue