DataSourceInitializer:未初始化ApplicationEventMulticaster

时间:2014-12-17 21:20:32

标签: spring-security spring-boot

我正在使用带有嵌入式h2database的Spring Boot 1.2.0。 使用类路径中的schema.sql文件初始化数据库。 它工作正常,直到我将@EnableGlobalMethodSecurity注释添加到WebSecurityConfiguration类。

java.lang.IllegalStateException:ApplicationEventMulticaster未初始化异常从DataSourceInitializer.runSchemaScripts抛出

可能是什么问题?

以下是代码:

@Configuration
@ComponentScan
@EnableAutoConfiguration
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

@EnableGlobalMethodSecurity(securedEnabled = true)
@Configuration
class WebSecurityConfiguration extends GlobalAuthenticationConfigurerAdapter {

    @Autowired
    DataSource dataSource;

    @Override
    public void init(AuthenticationManagerBuilder auth) throws Exception {
        auth.jdbcAuthentication().dataSource(dataSource);
    }
}

1 个答案:

答案 0 :(得分:0)

我认为解决方案是不使用init方法来设置JDBC身份验证。尝试使用扩展GlobalAuthenticationConfigurerAdapter的单独类并覆盖config方法。