@ -1,5 +1,5 @@
/ *
/ *
* Copyright 2012 - 201 4 the original author or authors .
* Copyright 2012 - 201 5 the original author or authors .
*
*
* Licensed under the Apache License , Version 2.0 ( the "License" ) ;
* Licensed under the Apache License , Version 2.0 ( the "License" ) ;
* you may not use this file except in compliance with the License .
* you may not use this file except in compliance with the License .
@ -28,6 +28,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory ;
import org.springframework.beans.factory.config.ConfigurableListableBeanFactory ;
import org.springframework.boot.autoconfigure.AutoConfigurationPackages ;
import org.springframework.boot.autoconfigure.AutoConfigurationPackages ;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration ;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration ;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass ;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression ;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression ;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean ;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean ;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication ;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication ;
@ -134,19 +135,26 @@ public abstract class JpaBaseConfiguration implements BeanFactoryAware {
@Configuration
@Configuration
@ConditionalOnWebApplication
@ConditionalOnWebApplication
@ConditionalOnClass ( WebMvcConfigurerAdapter . class )
@ConditionalOnMissingBean ( { OpenEntityManagerInViewInterceptor . class ,
@ConditionalOnMissingBean ( { OpenEntityManagerInViewInterceptor . class ,
OpenEntityManagerInViewFilter . class } )
OpenEntityManagerInViewFilter . class } )
@ConditionalOnExpression ( "${spring.jpa.openInView:${spring.jpa.open_in_view:true}}" )
@ConditionalOnExpression ( "${spring.jpa.openInView:${spring.jpa.open_in_view:true}}" )
protected static class JpaWebConfiguration extends WebMvcConfigurerAdapter {
protected static class JpaWebConfiguration {
@Override
// Defined as a nested config to ensure WebMvcConfigurerAdapter is not read when
public void addInterceptors ( InterceptorRegistry registry ) {
// not on the classpath
registry . addWebRequestInterceptor ( openEntityManagerInViewInterceptor ( ) ) ;
@Configuration
}
protected static class JpaWebMvcConfiguration extends WebMvcConfigurerAdapter {
@Bean
@Bean
public OpenEntityManagerInViewInterceptor openEntityManagerInViewInterceptor ( ) {
public OpenEntityManagerInViewInterceptor openEntityManagerInViewInterceptor ( ) {
return new OpenEntityManagerInViewInterceptor ( ) ;
return new OpenEntityManagerInViewInterceptor ( ) ;
}
@Override
public void addInterceptors ( InterceptorRegistry registry ) {
registry . addWebRequestInterceptor ( openEntityManagerInViewInterceptor ( ) ) ;
}
}
}
}
}