AutoConfigure

    自动配置的内容

    自动配置的 Serializer 是 :

    1. @Bean
    2. @ConditionalOnMissingBean
    3. public Serializer serializer() {
    4. XStreamSerializer xStreamSerializer = new XStreamSerializer();
    5. xStreamSerializer.getXStream().setClassLoader(beanClassLoader);
    6. return xStreamSerializer;

    自动配置的 EventBus 是 SimpleEventBus

    1. @Bean
    2. @ConditionalOnMissingBean({EventStorageEngine.class, EventBus.class, EventStore.class})
    3. public EventBus eventBus(AxonConfiguration configuration) {
    4. return new SimpleEventBus(Integer.MAX_VALUE, configuration.messageMonitor(EventStore.class, "eventStore"));

    自动配置 TransactionManager 时,先看有没有 PlatformTransactionManager,如果有则配置为 SpringTransactionManager,如果没有,则取默认配置,结果为 NoTransactionManager:

    1. @AutoConfigureAfter(TransactionConfiguration.class)
    2. @Configuration
    3. public static class DefaultTransactionConfiguration {
    4. @Bean
    5. @ConditionalOnMissingBean(TransactionManager.class)
    6. public TransactionManager axonTransactionManager() {
    7. return NoTransactionManager.INSTANCE;
    8. }
    9. @Configuration
    10. @ConditionalOnClass(PlatformTransactionManager.class)
    11. @AutoConfigureAfter(name = "org.springframework.boot.autoconfigure.orm.jpa.HibernateJpaAutoConfiguration")
    12. public static class TransactionConfiguration {
    13. @Bean
    14. @ConditionalOnMissingBean
    15. @ConditionalOnBean(PlatformTransactionManager.class)
    16. public TransactionManager axonTransactionManager(PlatformTransactionManager transactionManager) {
    17. return new SpringTransactionManager(transactionManager);