@@ -9,9 +9,11 @@ import org.springframework.cloud.openfeign.EnableFeignClients; | |||
import org.springframework.context.annotation.ComponentScan; | |||
import org.springframework.context.annotation.EnableAspectJAutoProxy; | |||
import org.springframework.context.annotation.FilterType; | |||
import org.springframework.scheduling.annotation.EnableScheduling; | |||
@SpringBootApplication | |||
@EnableFeignClients | |||
@EnableScheduling | |||
@EnableAspectJAutoProxy(proxyTargetClass = true) | |||
@ComponentScan(basePackageClasses = FeignCommClient.class) | |||
@ComponentScan(excludeFilters = { @ComponentScan.Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class), |
@@ -1,16 +1,25 @@ | |||
package cn.com.taiji.ods.config; | |||
import javax.annotation.PostConstruct; | |||
import javax.persistence.EntityManagerFactory; | |||
import javax.sql.DataSource; | |||
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
import org.springframework.beans.factory.annotation.Qualifier; | |||
import org.springframework.boot.autoconfigure.domain.EntityScan; | |||
import org.springframework.boot.context.properties.ConfigurationProperties; | |||
import org.springframework.context.MessageSource; | |||
import org.springframework.context.annotation.AdviceMode; | |||
import org.springframework.context.annotation.Bean; | |||
import org.springframework.context.annotation.Configuration; | |||
import org.springframework.context.annotation.Primary; | |||
import org.springframework.data.jpa.repository.config.EnableJpaRepositories; | |||
import org.springframework.orm.jpa.JpaTransactionManager; | |||
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; | |||
import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter; | |||
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; | |||
import org.springframework.transaction.PlatformTransactionManager; | |||
import org.springframework.transaction.annotation.EnableTransactionManagement; | |||
import org.springframework.validation.beanvalidation.LocalValidatorFactoryBean; | |||
@@ -19,13 +28,15 @@ import cn.com.taiji.common.manager.AbstractManager; | |||
import cn.com.taiji.common.pub.AppEnv; | |||
import cn.com.taiji.common.repo.jpa.MyJpaRespositoryFactoryBean; | |||
import java.util.Properties; | |||
import java.util.concurrent.ThreadPoolExecutor; | |||
@Configuration | |||
@EntityScan(value = {"cn.com.taiji." + AppConfig.APP_NAME + ".entity", "cn.com.taiji.core.entity"}) | |||
@EnableJpaRepositories( | |||
basePackages = {"cn.com.taiji." + AppConfig.APP_NAME + ".repo.jpa", "cn.com.taiji.core.repo.jpa"}, | |||
repositoryFactoryBeanClass = MyJpaRespositoryFactoryBean.class) | |||
@EntityScan(value = {"cn.com.taiji.core.entity"}) | |||
@EnableJpaRepositories(basePackages = {"cn.com.taiji.core.repo.jpa"}, | |||
entityManagerFactoryRef = "primaryEntityManager", | |||
transactionManagerRef = "primaryTransactionManager", | |||
repositoryFactoryBeanClass = MyJpaRespositoryFactoryBean.class) | |||
@EnableTransactionManagement(mode = AdviceMode.ASPECTJ, proxyTargetClass = true) | |||
public class AppConfig extends AbstractManager { | |||
public static final String APP_NAME = "ods"; | |||
@@ -33,8 +44,6 @@ public class AppConfig extends AbstractManager { | |||
@Autowired | |||
private MessageSource messageSource; | |||
@Autowired | |||
private DataSource dataSource; | |||
@Autowired | |||
private AppConfigProperties appConfig; | |||
@PostConstruct | |||
@@ -43,6 +52,47 @@ public class AppConfig extends AbstractManager { | |||
AppEnv.setNodeNum(appConfig.getNodeNum()); | |||
} | |||
@Primary | |||
@Bean(name = "primaryDataSource") | |||
@ConfigurationProperties(prefix = "spring.datasource.druid.first") | |||
public DataSource primaryDataSource() { | |||
return DruidDataSourceBuilder.create().build(); | |||
} | |||
@Primary | |||
@Bean(name = "primaryEntityManager") | |||
public LocalContainerEntityManagerFactoryBean entityManagerFactoryBean() { | |||
LocalContainerEntityManagerFactoryBean factoryBean = new LocalContainerEntityManagerFactoryBean(); | |||
factoryBean.setDataSource(primaryDataSource()); | |||
factoryBean.setPackagesToScan( | |||
new String[] {"cn.com.taiji.core.entity"}); | |||
HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter(); | |||
vendorAdapter.setDatabasePlatform("org.hibernate.dialect.Oracle10gDialect"); | |||
if (logger.isDebugEnabled()) { | |||
// vendorAdapter.setShowSql(true); | |||
// vendorAdapter.setGenerateDdl(true); | |||
} | |||
factoryBean.setJpaVendorAdapter(vendorAdapter); | |||
factoryBean.setJpaProperties(this.qtkAdditionlProperties()); | |||
return factoryBean; | |||
} | |||
@Primary | |||
@Bean(name = "primaryTransactionManager") | |||
public PlatformTransactionManager | |||
payTransactionManager(@Qualifier("primaryEntityManager") EntityManagerFactory entityManagerFactory) { | |||
return new JpaTransactionManager(entityManagerFactory); | |||
} | |||
private Properties qtkAdditionlProperties() { | |||
Properties props = new Properties(); | |||
// if (!useHsqldb) props.setProperty("hibernate.default_schema", schema);// 设置默认schema | |||
props.setProperty("hibernate.connection.handling_mode", "DELAYED_ACQUISITION_AND_HOLD");// PhysicalConnectionHandlingMode | |||
return props; | |||
} | |||
@Bean | |||
public LocalValidatorFactoryBean validator() { | |||
LocalValidatorFactoryBean validatorFactoryBean = new LocalValidatorFactoryBean(); | |||
@@ -51,7 +101,7 @@ public class AppConfig extends AbstractManager { | |||
} | |||
@Bean | |||
public CommonBatchJdbcDao commonJdbcDao() { | |||
public CommonBatchJdbcDao commonJdbcDao(@Qualifier("primaryDataSource") DataSource dataSource) { | |||
return new CommonBatchJdbcDao(dataSource); | |||
} | |||
@@ -0,0 +1,61 @@ | |||
package cn.com.taiji.ods.config; | |||
import cn.com.taiji.common.manager.AbstractManager; | |||
import cn.com.taiji.common.repo.jpa.MyJpaRespositoryFactoryBean; | |||
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder; | |||
import org.springframework.beans.factory.annotation.Qualifier; | |||
import org.springframework.boot.autoconfigure.domain.EntityScan; | |||
import org.springframework.boot.context.properties.ConfigurationProperties; | |||
import org.springframework.context.annotation.AdviceMode; | |||
import org.springframework.context.annotation.Bean; | |||
import org.springframework.context.annotation.Configuration; | |||
import org.springframework.data.jpa.repository.config.EnableJpaRepositories; | |||
import org.springframework.orm.jpa.JpaTransactionManager; | |||
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; | |||
import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter; | |||
import org.springframework.transaction.PlatformTransactionManager; | |||
import org.springframework.transaction.annotation.EnableTransactionManagement; | |||
import javax.persistence.EntityManagerFactory; | |||
import javax.sql.DataSource; | |||
import java.util.Properties; | |||
@Configuration | |||
@EntityScan(value = {"cn.com.taiji.ods.entity.dsi"}) | |||
@EnableJpaRepositories(basePackages = {"cn.com.taiji.ods.repo.jpa.dsi"}, | |||
entityManagerFactoryRef = "dsiEntityManager", | |||
transactionManagerRef = "secondTransactionManager", | |||
repositoryFactoryBeanClass = MyJpaRespositoryFactoryBean.class) | |||
@EnableTransactionManagement(mode = AdviceMode.ASPECTJ, proxyTargetClass = true) | |||
public class DsiDbConfig extends AbstractManager { | |||
@Bean(name = "secondDataSource") | |||
@ConfigurationProperties(prefix = "spring.datasource.druid.second") | |||
public DataSource secondDataSource() { | |||
return DruidDataSourceBuilder.create().build(); | |||
} | |||
@Bean(name = "dsiEntityManager") | |||
public LocalContainerEntityManagerFactoryBean entityManagerFactory() { | |||
LocalContainerEntityManagerFactoryBean factoryBean = new LocalContainerEntityManagerFactoryBean(); | |||
factoryBean.setDataSource(secondDataSource()); | |||
factoryBean.setPackagesToScan(new String[] {"cn.com.taiji.ods.entity.dsi"}); | |||
HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter(); | |||
vendorAdapter.setDatabasePlatform("org.hibernate.dialect.Oracle10gDialect"); | |||
factoryBean.setJpaVendorAdapter(vendorAdapter); | |||
factoryBean.setJpaProperties(this.qtkAdditionlProperties()); | |||
return factoryBean; | |||
} | |||
@Bean(name = "secondTransactionManager") | |||
public PlatformTransactionManager | |||
payTransactionManager(@Qualifier("dsiEntityManager") EntityManagerFactory entityManagerFactory) { | |||
return new JpaTransactionManager(entityManagerFactory); | |||
} | |||
private Properties qtkAdditionlProperties() { | |||
Properties props = new Properties(); | |||
// if (!useHsqldb) props.setProperty("hibernate.default_schema", schema);// 设置默认schema | |||
props.setProperty("hibernate.connection.handling_mode", "DELAYED_ACQUISITION_AND_HOLD");// PhysicalConnectionHandlingMode | |||
return props; | |||
} | |||
} |
@@ -0,0 +1,60 @@ | |||
package cn.com.taiji.ods.config; | |||
import cn.com.taiji.common.manager.AbstractManager; | |||
import cn.com.taiji.common.repo.jpa.MyJpaRespositoryFactoryBean; | |||
import com.alibaba.druid.spring.boot.autoconfigure.DruidDataSourceBuilder; | |||
import org.springframework.beans.factory.annotation.Qualifier; | |||
import org.springframework.boot.autoconfigure.domain.EntityScan; | |||
import org.springframework.boot.context.properties.ConfigurationProperties; | |||
import org.springframework.context.annotation.AdviceMode; | |||
import org.springframework.context.annotation.Bean; | |||
import org.springframework.context.annotation.Configuration; | |||
import org.springframework.data.jpa.repository.config.EnableJpaRepositories; | |||
import org.springframework.orm.jpa.JpaTransactionManager; | |||
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean; | |||
import org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter; | |||
import org.springframework.transaction.PlatformTransactionManager; | |||
import org.springframework.transaction.annotation.EnableTransactionManagement; | |||
import javax.persistence.EntityManagerFactory; | |||
import javax.sql.DataSource; | |||
import java.util.Properties; | |||
@Configuration | |||
@EntityScan(value = {"cn.com.taiji.ods.entity.doris"}) | |||
@EnableJpaRepositories(basePackages = {"cn.com.taiji.ods.repo.jpa.doris"}, | |||
entityManagerFactoryRef = "dorisEntityManager", | |||
transactionManagerRef = "thridTransactionManager", | |||
repositoryFactoryBeanClass = MyJpaRespositoryFactoryBean.class) | |||
@EnableTransactionManagement(mode = AdviceMode.ASPECTJ, proxyTargetClass = true) | |||
public class ThiDbConfig extends AbstractManager { | |||
@Bean(name = "thirdDataSource") | |||
@ConfigurationProperties(prefix = "spring.datasource.druid.third") | |||
public DataSource secondDataSource() { | |||
return DruidDataSourceBuilder.create().build(); | |||
} | |||
@Bean(name = "dorisEntityManager") | |||
public LocalContainerEntityManagerFactoryBean entityManagerFactory() { | |||
LocalContainerEntityManagerFactoryBean factoryBean = new LocalContainerEntityManagerFactoryBean(); | |||
factoryBean.setDataSource(secondDataSource()); | |||
factoryBean.setPackagesToScan(new String[] { "cn.com.taiji.ods.entity.doris" }); | |||
HibernateJpaVendorAdapter vendorAdapter = new HibernateJpaVendorAdapter(); | |||
vendorAdapter.setDatabasePlatform("org.hibernate.dialect.MySQLDialect"); | |||
factoryBean.setJpaVendorAdapter(vendorAdapter); | |||
factoryBean.setJpaProperties(this.qtkAdditionlProperties()); | |||
return factoryBean; | |||
} | |||
@Bean(name = "thridTransactionManager") | |||
public PlatformTransactionManager payTransactionManager(@Qualifier("dorisEntityManager") EntityManagerFactory entityManagerFactory) { | |||
return new JpaTransactionManager(entityManagerFactory); | |||
} | |||
private Properties qtkAdditionlProperties() { | |||
Properties props = new Properties(); | |||
// if (!useHsqldb) props.setProperty("hibernate.default_schema", schema);// 设置默认schema | |||
props.setProperty("hibernate.connection.handling_mode", "DELAYED_ACQUISITION_AND_HOLD");// PhysicalConnectionHandlingMode | |||
return props; | |||
} | |||
} |
@@ -46,7 +46,7 @@ server: | |||
#应用相关配置 | |||
app: | |||
nodeNum: 001 | |||
path: D:/devEnv/ods/ #工程的目录,#sso集成默认读取该目录下的oauth_client.properties | |||
path: D:/devEnv/sample/ #工程的目录,#sso集成默认读取该目录下的oauth_client.properties | |||
comm: | |||
# 自定义服务地址map,key为服务名、value为服务地址。如果配置了服务地址,接口调用时请求到该地址,如果没配置,默认请求到gateway | |||
serviceAddr: |
@@ -53,6 +53,7 @@ public class TestOqsIssueServiceHandler extends AbstractCommManager { | |||
@Test | |||
public void cardBlackQueryManagerJsonRepeatTest() throws ManagerException { | |||
OqsCardBlackRequest oqsCardBlackRequest = new OqsCardBlackRequest(); | |||
oqsCardBlackRequest.setCardId("52012223230230864327"); | |||
OqsCardBlackResponse oqsCardBlackResponse = null; | |||
try { | |||
oqsCardBlackResponse = jsonPostRepeat(oqsCardBlackRequest); |