server.port=6012
spring.application.name=contract-swap-api
server.context-path=/swap
logging.level.*=info

#eureka
eureka.client.enabled=true
eureka.client.serviceUrl.defaultZone=@eureka.client.serviceUrl.defaultZone@
eureka.instance.prefer-ip-address=true
eureka.instance.instance-id=@eureka.instance.instance-id@

#Mysql
spring.datasource.url=@spring.datasource.url@
spring.datasource.username=@spring.datasource.username@
spring.datasource.password=@spring.datasource.password@
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
spring.datasource.druid.initialSize=5
spring.datasource.druid.minIdle=5
spring.datasource.druid.maxActive=200
spring.datasource.druid.maxWait=60000
spring.datasource.druid.timeBetweenEvictionRunsMillis=60000
spring.datasource.druid.minEvictableIdleTimeMillis=300000
spring.datasource.druid.validationQuery=SELECT 1
spring.datasource.druid.testWhileIdle=true
spring.datasource.druid.testOnBorrow=false
spring.datasource.druid.testOnReturn=false
spring.datasource.druid.poolPreparedStatements=true
spring.datasource.druid.maxPoolPreparedStatementPerConnectionSize=20
spring.datasource.druid.filters=stat,wall,log4j

#Druid\u76D1\u63A7\u914D\u7F6E
# WebStatFilter\u914D\u7F6E\uFF0C\u8BF4\u660E\u8BF7\u53C2\u8003Druid Wiki\uFF0C\u914D\u7F6E_\u914D\u7F6EWebStatFilter
spring.datasource.druid.web-stat-filter.enabled=true
spring.datasource.druid.web-stat-filter.url-pattern=/*
spring.datasource.druid.web-stat-filter.exclusions=/druid/*,*.js,*.gif,*.jpg,*.bmp,*.png,*.css,*.ico
spring.datasource.druid.web-stat-filter.session-stat-enable=true
spring.datasource.druid.web-stat-filter.session-stat-max-count=10
spring.datasource.druid.web-stat-filter.principal-session-name=session_name
spring.datasource.druid.web-stat-filter.principal-cookie-name=cookie_name
spring.datasource.druid.web-stat-filter.profile-enable=
#StatViewServlet\u914D\u7F6E\uFF0C\u8BF4\u660E\u8BF7\u53C2\u8003Druid Wiki\uFF0C\u914D\u7F6E_StatViewServlet\u914D\u7F6E\u9ED8\u8BA4false
spring.datasource.druid.stat-view-servlet.enabled=true
#\u914D\u7F6EDruidStatViewServlet
spring.datasource.druid.stat-view-servlet.url-pattern=/druid/*
#\u7981\u7528HTML\u9875\u9762\u4E0A\u7684\u201CReset All\u201D\u529F\u80FD
spring.datasource.druid.stat-view-servlet.reset-enable=false
#Druid\u76D1\u63A7\u767B\u5F55\u8D26\u6237
spring.datasource.druid.stat-view-servlet.login-username=@druidlogin-username@
#Druid\u76D1\u63A7\u767B\u5F55\u5BC6\u7801
spring.datasource.druid.stat-view-servlet.login-password=@druidlogin-password@
#IP\u767D\u540D\u5355(\u6CA1\u6709\u914D\u7F6E\u6216\u8005\u4E3A\u7A7A\uFF0C\u5219\u5141\u8BB8\u6240\u6709\u8BBF\u95EE)
spring.datasource.druid.stat-view-servlet.allow=
#IP\u9ED1\u540D\u5355 (\u5B58\u5728\u5171\u540C\u65F6\uFF0Cdeny\u4F18\u5148\u4E8Eallow)
spring.datasource.druid.stat-view-servlet.deny=
#Spring\u76D1\u63A7\u914D\u7F6E\uFF0C\u8BF4\u660E\u8BF7\u53C2\u8003Druid Github Wiki\uFF0C\u914D\u7F6E_Druid\u548CSpring\u5173\u8054\u76D1\u63A7\u914D\u7F6E
spring.datasource.druid.aop-patterns= com.lcf.service.*

#Redis
## redis\u670D\u52A1\u5668\u914D\u7F6E
spring.redis.host=@spring.redis.host@
spring.redis.port=@spring.redis.port@
## \u8FDE\u63A5\u6C60\u6700\u5927\u8FDE\u63A5\u6570\uFF08\u4F7F\u7528\u8D1F\u503C\u8868\u793A\u6CA1\u6709\u9650\u5236\uFF09
spring.redis.pool.max-active=300
## \u8FDE\u63A5\u6C60\u6700\u5927\u963B\u585E\u7B49\u5F85\u65F6\u95F4\uFF08\u4F7F\u7528\u8D1F\u503C\u8868\u793A\u6CA1\u6709\u9650\u5236\uFF09
spring.redis.pool.max-wait=3000
## \u8FDE\u63A5\u6C60\u4E2D\u7684\u6700\u5927\u7A7A\u95F2\u8FDE\u63A5
spring.redis.pool.max-idle=100
## \u8FDE\u63A5\u6C60\u4E2D\u7684\u6700\u5C0F\u7A7A\u95F2\u8FDE\u63A5
spring.redis.pool.min-idle=20
## \u8FDE\u63A5\u8D85\u65F6\u65F6\u95F4\uFF08\u6BEB\u79D2\uFF09
spring.redis.timeout=5000
## \u8FDE\u63A5\u5BC6\u7801
spring.redis.password=@spring.redis.password@
spring.redis.enableTransactionSupport=false

#Kafka
spring.kafka.bootstrap-servers=@spring.kafka.bootstrap-servers@
# \u91CD\u4F20\u6B21\u6570
spring.kafka.producer.retries=0
# \u6BCF\u6B21\u6279\u5904\u7406\u7684\u5927\u5C0F
spring.kafka.producer.batch.size=256
#linger\u6307\u5B9A\u7684\u65F6\u95F4\u7B49\u5F85\u66F4\u591A\u7684records\u51FA\u73B0
spring.kafka.producer.linger=1
# \u7F13\u5B58\u6570\u636E\u7684\u5185\u5B58\u5927\u5C0F
spring.kafka.producer.buffer.memory=1048576
spring.kafka.consumer.enable.auto.commit=false
spring.kafka.consumer.session.timeout=15000
spring.kafka.consumer.auto.commit.interval=100
spring.kafka.consumer.auto.offset.reset=earliest
spring.kafka.consumer.group.id=default-group
spring.kafka.consumer.concurrency=9
spring.kafka.consumer.maxPollRecordsConfig=50
spring.devtools.restart.enabled=true

#Mail Setting
aws.ses.from=@aws.ses.from@
spring.mail.host=@spring.mail.host@
spring.mail.port=@spring.mail.port@
spring.mail.username=@spring.mail.username@
spring.mail.password=@spring.mail.password@
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
#SYSTEM(\u53D1\u9001\u90AE\u4EF6\u4F7F\u7528)
spark.system.work-id=1
spark.system.data-center-id=1
spark.system.host=@spark.system.host@
spark.system.name=@spark.system.name@
#\u63A5\u6536\u7CFB\u7EDF\u901A\u77E5\u7684\u90AE\u7BB1\uFF0C\u591A\u4E2A\u7528\u3010,\u3011\u5206\u5272
spark.system.admins=@spark.system.admins@
#\u901A\u77E5\u77ED\u4FE1\u63A5\u6536\u624B\u673A\uFF0C\u591A\u4E2A\u7528\u3010,\u3011\u5206\u5272
spark.system.admin-phones=@spark.system.admin-phones@

#\u963F\u91CC\u4E91 \u90AE\u4EF6 & \u77ED\u4FE1 \u914D\u7F6E
aliyun.mail-sms.region=@aliyun.mail-sms.region@
aliyun.mail-sms.access-key-id=@aliyun.mail-sms.access-key-id@
aliyun.mail-sms.access-secret=@aliyun.mail-sms.access-secret@
aliyun.mail-sms.from-address=@aliyun.mail-sms.from-address@
aliyun.mail-sms.from-alias=@aliyun.mail-sms.from-alias@
aliyun.mail-sms.sms-sign=@aliyun.mail-sms.sms-sign@
aliyun.mail-sms.sms-template=@aliyun.mail-sms.sms-template@

#JPA
spring.jpa.show-sql=false
spring.data.jpa.repositories.enabled=true
#spring.jpa.hibernate.ddl-auto=update

sms.key=@sms.key@

#Hawk Netty
aqmd.netty.port=38901
## \u8D1F\u8D23\u5904\u7406\u5BA2\u6237\u7AEF\u7684TCP\u8FDE\u63A5\u8BF7\u6C42\uFF0C\u5EFA\u8BAE1
aqmd.netty.bossThreadSize=1
## IO\u8BFB\u5199\u7EBF\u7A0B\uFF0C\u5EFA\u8BAE1<N<CPU\u6838\u5FC3\u6570*2
aqmd.netty.worker-thread-size=3
## \u5305\u5934\u8868\u793A\u5305\u957F\u5EA6\u5360\u7684\u957F\u5EA6
aqmd.netty.packetHeaderLength=4
## \u6570\u636E\u5305\u6700\u5927\u503C\uFF0C\u8D85\u8FC7\u629BTooLongFrameException
aqmd.netty.max-frame-length=2147483647
## \u5199\u7A7A\u95F2\u65F6\u95F4\uFF0C\u5355\u4F4D\uFF1A\u79D2
aqmd.netty.writer-idle=200
## \u4E1A\u52A1\u6700\u5927\u8D85\u65F6\u65F6\u95F4\uFF0C\u5355\u4F4D\uFF1A\u79D2
aqmd.netty.max-timeout=60
## \u4E1A\u52A1\u7F3A\u7701\u8D85\u65F6\u65F6\u95F4\uFF0C\u5355\u4F4D\uFF1A\u79D2
aqmd.netty.defaultTimeout=30
##\u5177\u4F53\u4E1A\u52A1\u5904\u7406\u7684handler\u7EBF\u7A0B\u6570
aqmd.netty.deal-handler-thread-size=10
##netty\u65E5\u5FD7\u7EA7\u522B\u8BBE\u7F6E
aqmd.netty.serviceLoggerLevel=debug
##\u5F00\u542F\u4E0D\u767B\u9646\u8BBF\u95EE
aqmd.netty.direct-access-flag=1
##\u5141\u8BB8\u8BBF\u95EE\u7684\u6307\u4EE4
aqmd.netty.direct-access-command=30001,30002,30003,30021,30022,30023,30024,30025,30026,30027,30028,30029,30041,30042,30043
aqmd.netty.websocket-flag=1
aqmd.netty.websocket-port=38985

#ES \u914D\u7F6E\u6587\u4EF6
es.username=@es.username@
es.password=@es.password@
es.mine.index=@es.mine.index@
es.mine.type=@es.mine.type@
es.public.ip=@es.public.ip@
es.private.ip=@es.private.ip@
es.port=@es.port@

# Market 第二数据源（K线历史数据）
spring.datasource.market.url=@spring.datasource.market.url@
spring.datasource.market.username=@spring.datasource.market.username@
spring.datasource.market.password=@spring.datasource.market.password@
spring.datasource.market.driver-class-name=com.mysql.jdbc.Driver

#S3
s3.accessKeyId=@s3.accessKeyId@
s3.accessKeySecret=@s3.accessKeySecret@
s3.bucketName=@s3.bucketName@
s3.region=@s3.region@

# 禁止在响应中暴露异常信息
server.error.include-exception=false
server.error.include-stacktrace=never
server.error.include-message=never
