Pārlūkot izejas kodu

增加自动配置

zhouhao 8 gadi atpakaļ
vecāks
revīzija
0a9c5de776

+ 39 - 0
hsweb-datasource/hsweb-datasource-jta/src/main/java/org/hswebframework/web/datasource/jta/AtomikosDataSourceAutoConfiguration.java

@@ -0,0 +1,39 @@
+package org.hswebframework.web.datasource.jta;
+
+import org.hswebframework.web.datasource.DynamicDataSourceService;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.boot.jta.atomikos.AtomikosDataSourceBean;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Primary;
+
+import javax.sql.DataSource;
+import java.sql.SQLException;
+
+/**
+ * TODO 完成注释
+ *
+ * @author zhouhao
+ */
+@Configuration
+public class AtomikosDataSourceAutoConfiguration {
+
+    //默认数据源
+    @Bean(initMethod = "init", destroyMethod = "destroy", value = "defaultDataSource")
+    @Primary
+    public AtomikosDataSourceBean defaultDataSource() {
+        return new AtomikosDataSourceBean();
+    }
+
+    @ConditionalOnMissingBean(JtaDataSourceStore.class)
+    @Bean
+    public MemoryJtaDataSourceStore memoryJtaDataSourceStore() {
+        return new MemoryJtaDataSourceStore();
+    }
+
+    @Bean
+    @ConditionalOnMissingBean(DynamicDataSourceService.class)
+    public JtaDynamicDataSourceService jtaDynamicDataSourceService(JtaDataSourceStore jtaDataSourceStore, DataSource dataSource) throws SQLException {
+        return new JtaDynamicDataSourceService(jtaDataSourceStore, dataSource);
+    }
+}

+ 3 - 0
hsweb-datasource/hsweb-datasource-jta/src/main/resources/META-INF/spring.factories

@@ -0,0 +1,3 @@
+# Auto Configure
+org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
+org.hswebframework.web.datasource.jta.AtomikosDataSourceAutoConfiguration