Commit 0652b808 authored by data爬虫-冯 军凯's avatar data爬虫-冯 军凯

黑名单项目初始化

parents
This diff is collapsed.
package cn.quantgroup.qgblservice;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;
import com.ctrip.framework.apollo.spring.annotation.EnableApolloConfig;
import com.ctrip.framework.apollo.spring.config.ApolloPropertySourceInitializer;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.context.annotation.EnableAspectJAutoProxy;
import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@EnableTransactionManagement
@EnableConfigurationProperties
@EnableCaching
@EnableScheduling
@EnableAsync
@EnableAspectJAutoProxy
@Slf4j
@EnableApolloConfig
@SpringBootApplication
public class QgBlServiceApplication {
public static void main(String[] args) {
JSON.DEFAULT_GENERATE_FEATURE |= SerializerFeature.WriteEnumUsingToString.getMask();
SpringApplication springApplication = new SpringApplication(QgBlServiceApplication.class);
springApplication.addInitializers(new ApolloPropertySourceInitializer());
springApplication.run(args);
log.info("量化派黑名单系统启动完成....");
}
}
package cn.quantgroup.qgblservice.config.blacklist;
import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
/**
* 原先黑名单库
*
* @Author fengjunkai
* @Date 2019-07-02 11:58
*/
@Data
@Configuration
public class BlackListProperties {
@Value("${black.list.db.driver}")
private String driverClass;
@Value("${black.list.db.minPoolSize}")
private int minPoolSize;
@Value("${black.list.db.maxPoolSize}")
private int maxPoolSize;
@Value("${black.list.db.url}")
private String jdbcUrl;
@Value("${black.list.db.username}")
private String username;
@Value("${black.list.db.password}")
private String password;
}
package cn.quantgroup.qgblservice.config.blacklist;
import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.context.annotation.Primary;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import javax.sql.DataSource;
/**
* @Author fengjunkai
* @Date 2019-07-02 11:58
*/
@Import({BlackListProperties.class})
@MapperScan(basePackages = BlackListSourceConfig.PACKAGE, sqlSessionFactoryRef = "blackListSqlSessionFactory")
@Configuration
public class BlackListSourceConfig {
static final String PACKAGE = "cn.quantgroup.qgblservice.repository.mybatis.mapper.blacklist";
@Value("${black.list.mapper-locations}")
private String mapperLocations;
@Value("${black.list.type-aliases-package}")
private String typeAliasesPackage;
@Value("${black.list.config-location}")
private String configLocation;
@Autowired
private BlackListProperties blackListProperties;
@Bean(name = "dataSource")
public DataSource blackListDataSource() {
HikariConfig config = new HikariConfig();
config.setJdbcUrl(blackListProperties.getJdbcUrl());
config.setPassword(blackListProperties.getPassword());
config.setUsername(blackListProperties.getUsername());
config.setMaximumPoolSize(blackListProperties.getMaxPoolSize());
config.setMinimumIdle(blackListProperties.getMinPoolSize());
config.addDataSourceProperty("cachePrepStmts", "true");
config.addDataSourceProperty("prepStmtCacheSize", "250");
config.addDataSourceProperty("prepStmtCacheSqlLimit", "2048");
return new HikariDataSource(config);
}
@Bean(name = "blackListSqlSessionFactory")
public SqlSessionFactory blackListSqlSessionFactory(@Qualifier("dataSource") DataSource dataSource) throws Exception {
final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
sessionFactory.setDataSource(dataSource);
sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(mapperLocations));
sessionFactory.setTypeAliasesPackage(typeAliasesPackage);
sessionFactory.setConfigLocation(new PathMatchingResourcePatternResolver().getResource(configLocation));
return sessionFactory.getObject();
}
@Bean(name = "blackListSqlSessionTemplate")
public SqlSessionTemplate qgBlSqlSessionTemplate(@Qualifier("blackListSqlSessionFactory") SqlSessionFactory sqlSessionFactory) throws Exception {
return new SqlSessionTemplate(sqlSessionFactory);
}
}
package cn.quantgroup.qgblservice.config.xyqbuser;
import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
/**
* 用户中心数据库
*
* @Author fengjunkai
* @Date 2019-07-02 11:58
*/
@Data
@Configuration
public class XyqbUserProperties {
@Value("${xyqb.user.db.driver}")
private String driverClass;
@Value("${xyqb.user.db.minPoolSize}")
private int minPoolSize;
@Value("${xyqb.user.db.maxPoolSize}")
private int maxPoolSize;
@Value("${xyqb.user.db.url}")
private String jdbcUrl;
@Value("${xyqb.user.db.username}")
private String username;
@Value("${xyqb.user.db.password}")
private String password;
}
package cn.quantgroup.qgblservice.config.xyqbuser;
import cn.quantgroup.qgblservice.config.blacklist.BlackListProperties;
import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.mybatis.spring.SqlSessionTemplate;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.core.io.support.PathMatchingResourcePatternResolver;
import javax.sql.DataSource;
/**
* @Author fengjunkai
* @Date 2019-07-02 11:58
*/
@Import({XyqbUserProperties.class})
@MapperScan(basePackages = XyqbUserSourceConfig.PACKAGE, sqlSessionFactoryRef = "xyqbUserSqlSessionFactory")
@Configuration
public class XyqbUserSourceConfig {
static final String PACKAGE = "cn.quantgroup.qgblservice.repository.mybatis.mapper.xyqbuser";
@Value("${xyqb.user.mapper-locations}")
private String mapperLocations;
@Value("${xyqb.user.type-aliases-package}")
private String typeAliasesPackage;
@Value("${xyqb.user.config-location}")
private String configLocation;
@Autowired
private XyqbUserProperties xyqbUserProperties;
@Bean(name = "dataSource")
public DataSource xyqbUserDataSource() {
HikariConfig config = new HikariConfig();
config.setJdbcUrl(xyqbUserProperties.getJdbcUrl());
config.setPassword(xyqbUserProperties.getPassword());
config.setUsername(xyqbUserProperties.getUsername());
config.setMaximumPoolSize(xyqbUserProperties.getMaxPoolSize());
config.setMinimumIdle(xyqbUserProperties.getMinPoolSize());
config.addDataSourceProperty("cachePrepStmts", "true");
config.addDataSourceProperty("prepStmtCacheSize", "250");
config.addDataSourceProperty("prepStmtCacheSqlLimit", "2048");
return new HikariDataSource(config);
}
@Bean(name = "xyqbUserSqlSessionFactory")
public SqlSessionFactory xyqbUserSqlSessionFactory(@Qualifier("dataSource") DataSource dataSource) throws Exception {
final SqlSessionFactoryBean sessionFactory = new SqlSessionFactoryBean();
sessionFactory.setDataSource(dataSource);
sessionFactory.setMapperLocations(new PathMatchingResourcePatternResolver().getResources(mapperLocations));
sessionFactory.setTypeAliasesPackage(typeAliasesPackage);
sessionFactory.setConfigLocation(new PathMatchingResourcePatternResolver().getResource(configLocation));
return sessionFactory.getObject();
}
@Bean(name = "xyqbUserSqlSessionTemplate")
public SqlSessionTemplate xyqbUserSqlSessionTemplate(@Qualifier("xyqbUserSqlSessionFactory") SqlSessionFactory sqlSessionFactory) throws Exception {
return new SqlSessionTemplate(sqlSessionFactory);
}
}
package cn.quantgroup.qgblservice.repository.mybatis.entity.blacklist;
/**
* @Author fengjunkai
* @Date 2019-07-02 14:50
*/
public class test {
}
package cn.quantgroup.qgblservice.repository.mybatis.entity.xyqbuser;
/**
* @Author fengjunkai
* @Date 2019-07-02 14:50
*/
public class test {
}
package cn.quantgroup.qgblservice.repository.mybatis.mapper.blacklist;
/**
* @Author fengjunkai
* @Date 2019-07-02 14:50
*/
public interface test {
}
package cn.quantgroup.qgblservice.repository.mybatis.mapper.xyqbuser;
/**
* @Author fengjunkai
* @Date 2019-07-02 14:50
*/
public interface XyqbTest {
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.quantgroup.qgblservice.repository.mybatis.mapper.blacklist.test">
</mapper>
\ No newline at end of file
package cn.quantgroup.qgblservice.repository.mybatis.xml.blacklist;
/**
* @Author fengjunkai
* @Date 2019-07-02 14:51
*/
public class test {
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.quantgroup.qgblservice.repository.mybatis.mapper.xyqbuser.XyqbTest">
</mapper>
\ No newline at end of file
app.id=qg-bl-service
namespace=application,tech.service.urls,tech.common,tech.sleuth,tech.deploy,tech.msg.sdk
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<springProperty name="spring.application.name" source="spring.application.name"/>
<property name="LOG_LEVEL_PATTERN"
value="%clr(%5p) %clr([${spring.application.name:-},%X{X-B3-TraceId:-},%X{X-B3-SpanId:-},%X{X-Span-Export:-}]){yellow}"/>
<property name="CONSOLE_LOG_PATTERN"
value="${CONSOLE_LOG_PATTERN:-%clr(%d{MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%10.10t]){faint} [%40.40file:%4.4line] %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
<!-- 这里面定义了 CONSOLE_LOG_PATTERN, FILE_LOG_PATTERN 等日志格式, 还定义了一些日志级别 -->
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
<include resource="org/springframework/boot/logging/logback/console-appender.xml"/>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<pattern>${FILE_LOG_PATTERN}</pattern>
</layout>
</appender>
<!--logstash-->
<appender name="stash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>172.30.220.6:9646</destination>
<!-- encoder is required -->
<encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"/>
</appender>
<logger name="com.atomikos" level="warn"/>
<logger name="org.springframework" level="warn"/>
<logger name="org.mybatis" level="warn"/>
<logger name="org.apache" level="warn"/>
<logger name="ch.qos.logback" level="warn"/>
<root level="INFO">
<appender-ref ref="STDOUT"/>
<appender-ref ref="stash"/>
</root>
</configuration>
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<springProperty name="spring.application.name" source="spring.application.name"/>
<property name="LOG_LEVEL_PATTERN"
value="%5p [${spring.application.name:-},%X{X-B3-TraceId:-},%X{X-B3-SpanId:-},%X{X-Span-Export:-}]"/>
<property name="FILE_LOG_PATTERN"
value="${FILE_LOG_PATTERN:-%d{yyyy-MM-dd HH:mm:ss.SSS} ${LOG_LEVEL_PATTERN:-%5p} --- [%thread] [%file:%line] %logger - %msg%n}"/>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/home/quant_group/qg-bl-service/logs/qg-bl-service.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>
/home/quant_group/qg-bl-service/logs/qg-bl-service.log.%d{yyyy-MM-dd}
</fileNamePattern>
<maxHistory>7</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
</encoder>
</appender>
<!-- logstash -->
<appender name="stash" class="net.logstash.logback.appender.LogstashTcpSocketAppender">
<destination>172.30.220.6:9646</destination>
<!-- encoder is required -->
<encoder charset="UTF-8" class="net.logstash.logback.encoder.LogstashEncoder"/>
</appender>
<logger name="com.atomikos" level="warn"/>
<logger name="org.springframework" level="warn"/>
<logger name="org.mybatis" level="warn"/>
<logger name="org.apache" level="warn"/>
<logger name="ch.qos.logback" level="warn"/>
<root level="info">
<appender-ref ref="FILE"/>
<appender-ref ref="stash"/>
</root>
</configuration>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<configuration>
<springProperty name="spring.application.name" source="spring.application.name"/>
<property name="LOG_LEVEL_PATTERN"
value="%5p [${spring.application.name:-},%X{X-B3-TraceId:-},%X{X-B3-SpanId:-},%X{X-Span-Export:-}]"/>
<property name="FILE_LOG_PATTERN"
value="${FILE_LOG_PATTERN:-%d{yyyy-MM-dd HH:mm:ss.SSS} ${LOG_LEVEL_PATTERN:-%5p} --- [%thread] [%file:%line] %logger - %msg%n}"/>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--<file>/vpants/shaun/qg-ai-calc-9088/logs/qg-ai-calc.log</file>-->
<file>/home/quant_group/logs/qg-bl-service.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>
<!--/vpants/shaun/qg-ai-calc-9088/logs/qg-ai-calc.log.%d{yyyy-MM-dd}-->
/home/quant_group/logs/qg-bl-service.log.%d{yyyy-MM-dd}
</fileNamePattern>
<maxHistory>7</maxHistory>
</rollingPolicy>
<encoder>
<pattern>${FILE_LOG_PATTERN}</pattern>
</encoder>
</appender>
<logger name="com.atomikos" level="warn"/>
<logger name="org.springframework" level="warn"/>
<logger name="org.mybatis" level="warn"/>
<logger name="org.apache" level="warn"/>
<logger name="ch.qos.logback" level="warn"/>
<root level="info">
<appender-ref ref="FILE"/>
</root>
</configuration>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<setting name="mapUnderscoreToCamelCase" value="true"/>
</settings>
<typeAliases>
<typeAlias alias="Integer" type="java.lang.Integer"/>
<typeAlias alias="Long" type="java.lang.Long"/>
<typeAlias alias="HashMap" type="java.util.HashMap"/>
<typeAlias alias="LinkedHashMap" type="java.util.LinkedHashMap"/>
<typeAlias alias="ArrayList" type="java.util.ArrayList"/>
<typeAlias alias="LinkedList" type="java.util.LinkedList"/>
</typeAliases>
<!-- 配置分页插件 -->
<plugins>
<plugin interceptor="com.github.pagehelper.PageInterceptor">
<!-- 设置数据库类型 Oracle,Mysql,MariaDB,SQLite,Hsqldb,PostgreSQL六种数据库-->
<property name="helperDialect" value="mysql"/>
</plugin>
</plugins>
</configuration>
\ No newline at end of file
package cn.quantgroup.qgblservice;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest
public class QgBlServiceApplicationTests {
@Test
public void contextLoads() {
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment