refactor: 优化配置
This commit is contained in:
parent
5497beff58
commit
705929a713
|
|
@ -1,6 +1,6 @@
|
|||
<component name="ProjectRunConfigurationManager">
|
||||
<configuration default="false" name="JetLinksApplication" type="SpringBootApplicationConfigurationType" factoryName="Spring Boot">
|
||||
<option name="ACTIVE_PROFILES" value="dev,local" />
|
||||
<option name="ACTIVE_PROFILES" value="default,dev,local" />
|
||||
<module name="jetlinks-standalone" />
|
||||
<option name="SPRING_BOOT_MAIN_CLASS" value="org.jetlinks.community.standalone.JetLinksApplication" />
|
||||
<option name="VM_PARAMETERS" value="--add-opens java.base/java.lang=ALL-UNNAMED --add-opens java.base/java.util=ALL-UNNAMED --add-opens java.base/java.util.concurrent=ALL-UNNAMED --add-opens java.base/java.io=ALL-UNNAMED --add-opens java.base/java.net=ALL-UNNAMED --add-opens java.base/java.text=ALL-UNNAMED --add-opens java.base/java.math=ALL-UNNAMED --add-opens java.scripting/javax.script=ALL-UNNAMED --add-opens java.base/java.time=ALL-UNNAMED -XX:+EnableDynamicAgentLoading" />
|
||||
|
|
|
|||
|
|
@ -399,6 +399,7 @@ public class PersistenceBuffer<T extends Serializable> implements EvictionContex
|
|||
return Mono
|
||||
.fromRunnable(() -> data.forEach(this::write))
|
||||
.subscribeOn(writer)
|
||||
.publishOn(Schedulers.parallel())
|
||||
.then();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -77,9 +77,8 @@ public class SchemalessTDEngineDataWriter implements TDEngineDataWriter, Disposa
|
|||
if (buffer == null) {
|
||||
return writeNow(Flux.just(convertToLine(point)));
|
||||
}
|
||||
buffer.write(convertToLine(point));
|
||||
|
||||
return Mono.empty();
|
||||
return buffer.writeAsync(convertToLine(point));
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ public class DefaultThingsDataRepository implements ThingsDataRepository, Things
|
|||
private ThingsDataRepositoryStrategy getPolicyNow(String policy) {
|
||||
ThingsDataRepositoryStrategy dataPolicy = policies.get(policy);
|
||||
if (dataPolicy == null) {
|
||||
throw new I18nSupportException("error.thing_data_policy_unsupported", policy);
|
||||
throw new I18nSupportException.NoStackTrace("error.thing_data_policy_unsupported", policy);
|
||||
}
|
||||
return dataPolicy;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -269,7 +269,7 @@ public class DatabaseDeviceLatestDataService implements DeviceLatestDataService,
|
|||
prob.put("deviceName", deviceName);
|
||||
|
||||
Buffer buffer = Buffer.of(tableName, message.getDeviceId(), deviceName, prob, message.getTimestamp());
|
||||
writer.write(buffer);
|
||||
return writer.writeAsync(buffer);
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,24 @@
|
|||
# 注意!!!,本地开发时,请创建application-local.yml文件进行配置,不要随意修改application-default.yml文件并提交到git.
|
||||
|
||||
# 数据库相关配置
|
||||
DB_HOST: 127.0.0.1 # postgresql 数据库地址
|
||||
DB_PORT: 5432 # postgresql 数据库端口
|
||||
DB_DATABASE: jetlinks # postgresql 数据库名
|
||||
DB_USERNAME: postgres # postgresql 数据库用户名
|
||||
DB_PASSWORD: jetlinks # postgresql 数据库密码
|
||||
DB_SCHEMA: public # postgresql 数据库schema,默认public
|
||||
DB_DIALECT: postgres # 数据库方言,默认postgres. 支持postgres,mysql,oracle,sqlserver等.
|
||||
# redis 相关配置
|
||||
REDIS_HOST: 127.0.0.1
|
||||
REDIS_PORT: 6379 # redis 数据库地址
|
||||
REDIS_PASSWORD: "" # redis 密码
|
||||
REDIS_DATABASE: 0 # redis 数据库索引
|
||||
|
||||
# timescalbedb相关配置
|
||||
TIMESCALEDB_SCHEMA: public # timescaledb 数据库schema,默认public
|
||||
|
||||
|
||||
# elasticsearch相关配置
|
||||
ES_URIS: 127.0.0.1:9200
|
||||
ES_USERNAME: "" # elasticsearch 用户名
|
||||
ES_PASSWORD: "" # elasticsearch 密码
|
||||
|
|
@ -3,7 +3,7 @@ server:
|
|||
|
||||
spring:
|
||||
profiles:
|
||||
active: dev
|
||||
active: default,dev,local
|
||||
application:
|
||||
name: jetlinks-platform
|
||||
jackson:
|
||||
|
|
@ -19,23 +19,21 @@ spring:
|
|||
static-locations: file:./static/,/,classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/, classpath:/public/
|
||||
data:
|
||||
redis:
|
||||
host: 127.0.0.1
|
||||
port: 6379
|
||||
lettuce:
|
||||
pool:
|
||||
max-active: 1024
|
||||
host: ${REDIS_HOST:127.0.0.1}
|
||||
port: ${REDIS_PORT}
|
||||
timeout: 20s
|
||||
# database: 3
|
||||
# max-wait: 10s
|
||||
database: ${REDIS_DATABASE}
|
||||
password: ${REDIS_PASSWORD:""}
|
||||
r2dbc:
|
||||
# 需要手动创建数据库,启动会自动创建表,修改了配置easyorm相关配置也要修改
|
||||
url: r2dbc:postgresql://127.0.0.1:5432/jetlinks
|
||||
url: r2dbc:postgresql://${DB_HOST:127.0.0.1}:${DB_PORT:5432}/${DB_DATABASE:jetlinks}
|
||||
# 如果需要切换为mysql,请同时禁用timescaledb.enabled=false或者单独配置timescaledb.r2dbc.url
|
||||
# 并且需要使用elasticsearch,请勾选es7x profile或者手动引入es依赖,具体在pom.xml搜索es7x.并配置elasticsearch相关配置
|
||||
# 如果需要使用elasticsearch,请勾选es7x profile或者手动引入es依赖,具体在pom.xml搜索es7x.并配置elasticsearch相关配置
|
||||
# 数据库说明: https://hanta.yuque.com/px7kg1/dev/tw77qae6b08bcdfh
|
||||
# url: r2dbc:mysql://127.0.0.1:3306/jetlinks?ssl=false&serverZoneId=Asia/Shanghai # 修改了配置easyorm相关配置也要修改
|
||||
username: postgres
|
||||
password: jetlinks
|
||||
# 注意:切换了数据库easyorm相关配置也要修改
|
||||
# url: r2dbc:mysql://${DB_HOST:127.0.0.1}:${DB_PORT:3306}/${DB_DATABASE}?ssl=false&serverZoneId=Asia/Shanghai
|
||||
username: ${DB_USERNAME:postgres}
|
||||
password: ${DB_PASSWORD:jetlinks}
|
||||
pool:
|
||||
max-size: 128
|
||||
max-idle-time: 2m # 值不能大于mysql server的wait_timeout配置
|
||||
|
|
@ -46,14 +44,14 @@ spring:
|
|||
enabled: false
|
||||
# 引入elasticsearch相关模块后使用elasticsearch来存储设备、时序、日志等数据
|
||||
elasticsearch:
|
||||
uris: 127.0.0.1:9200
|
||||
uris: ${ES_URIS:127.0.0.1:9200}
|
||||
socket-timeout: 10s
|
||||
connection-timeout: 15s
|
||||
# password:
|
||||
# username:
|
||||
password: ${ES_USERNAME:""}
|
||||
username: ${ES_PASSWORD:""}
|
||||
easyorm:
|
||||
default-schema: public # 数据库默认的schema
|
||||
dialect: postgres #数据库方言
|
||||
default-schema: ${DB_SCHEMA:public} # 数据库默认的schema,mysql时则为数据库名.(注意大小写,请勿使用-等特殊字符)
|
||||
dialect: ${DB_DIALECT:postgres} #数据库方言
|
||||
timescaledb:
|
||||
# 默认使用timescaledb来存储设备数据,如果使用mysql,需要设置为false或配置shared-spring为false以及r2dbc相关配置.
|
||||
enabled: true
|
||||
|
|
@ -62,7 +60,7 @@ timescaledb:
|
|||
# url: r2dbc:postgresql://localhost:15432/jetlinks
|
||||
# username: postgres
|
||||
# password: p@ssw0rd
|
||||
schema: ${easyorm.default-schema}
|
||||
schema: ${TIMESCALEDB_SCHEMA:${easyorm.default-schema}} # timescaledb的schema,默认public
|
||||
time-series:
|
||||
enabled: true
|
||||
retention-policies:
|
||||
|
|
@ -190,7 +188,19 @@ logging:
|
|||
"org.jetlinks.community.timescaledb.impl.DefaultTimescaleDBDataWriter": warn
|
||||
"io.scalecube": warn
|
||||
"org.jetlinks.community.things.data": warn
|
||||
config: classpath:logback-spring.xml
|
||||
"org.hswebframework.web.starter.i18n": warn
|
||||
logback:
|
||||
rollingpolicy:
|
||||
max-file-size: 100MB
|
||||
max-history: 7
|
||||
total-size-cap: 10GB
|
||||
file:
|
||||
name: ./data/logs/${spring.application.name}_${server.port}.log
|
||||
path: ./data/logs
|
||||
threshold:
|
||||
file: INFO # 文件只记录INFO以上的日志
|
||||
console: TRACE
|
||||
event: WARN # 只记录WARN以上的日志到系统日志中
|
||||
vertx:
|
||||
max-event-loop-execute-time-unit: seconds
|
||||
max-event-loop-execute-time: 30
|
||||
|
|
|
|||
|
|
@ -1,9 +1,7 @@
|
|||
_ _ _ _ _
|
||||
| | | | | | (_) | |
|
||||
| | ___| |_| | _ _ __ | | _____
|
||||
_ | |/ _ \ __| | | | '_ \| |/ / __|
|
||||
| |__| | __/ |_| |____| | | | | <\__ \
|
||||
\____/ \___|\__|______|_|_| |_|_|\_\___/
|
||||
jetlinks @project.version@ build @maven.build.timestamp@
|
||||
spring-boot ${spring-boot.version}
|
||||
http port ${server.port}
|
||||
██╗███████╗████████╗ ██╗ ██╗███╗ ██╗██╗ ██╗███████╗
|
||||
██║██╔════╝╚══██╔══╝ ██║ ██║████╗ ██║██║ ██╔╝██╔════╝
|
||||
██║█████╗ ██║ ██║ ██║██╔██╗ ██║█████╔╝ ███████╗
|
||||
██ ██║██╔══╝ ██║ ██║ ██║██║╚██╗██║██╔═██╗ ╚════██║
|
||||
╚█████╔╝███████╗ ██║ ███████╗██║██║ ╚████║██║ ██╗███████║
|
||||
╚════╝ ╚══════╝ ╚═╝ ╚══════╝╚═╝╚═╝ ╚═══╝╚═╝ ╚═╝╚══════╝
|
||||
:: JetLinks IoT Platform :: ${spring.application.name}:@project.version@
|
||||
|
|
|
|||
|
|
@ -1,42 +1,28 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<configuration>
|
||||
<statusListener class="ch.qos.logback.core.status.NopStatusListener" />
|
||||
<statusListener class="ch.qos.logback.core.status.NopStatusListener"/>
|
||||
|
||||
<conversionRule conversionWord="shortened"
|
||||
class="org.jetlinks.community.logging.logback.ShortenedThrowableConverter"/>
|
||||
<!-- 过滤掉不重要的栈信息 -->
|
||||
<conversionRule conversionWord="shortened" class="org.jetlinks.community.logging.logback.ShortenedThrowableConverter"/>
|
||||
<property name="LOG_EXCEPTION_CONVERSION_WORD" value="%shortened"/>
|
||||
|
||||
<include resource="org/springframework/boot/logging/logback/defaults.xml" />
|
||||
<property name="LOG_FILE" value="./data/logs/jetlinks-community.log"/>
|
||||
<springProperty scope="context" name="LOG_EVENT_THRESHOLD" source="logging.threshold.event" defaultValue="WARN" />
|
||||
|
||||
<include resource="org/springframework/boot/logging/logback/console-appender.xml" />
|
||||
|
||||
<appender name="LOGEventPublisher" class="org.jetlinks.community.logging.logback.SystemLoggingAppender"/>
|
||||
<logger name="org.springframework.context.support.PostProcessorRegistrationDelegate$BeanPostProcessorChecker" level="ERROR" />
|
||||
|
||||
<appender name="ErrorLOGEventPublisher" class="org.jetlinks.community.logging.logback.SystemLoggingAppender">
|
||||
<!-- 记录到 系统日志 功能中 可通过配置 logging.threshold.event=WARN 来指定记录的日志级别 -->
|
||||
<appender name="LOGEventPublisher" class="org.jetlinks.community.logging.logback.SystemLoggingAppender">
|
||||
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
||||
<level>WARN</level>
|
||||
<level>${LOG_EVENT_THRESHOLD}</level>
|
||||
</filter>
|
||||
</appender>
|
||||
|
||||
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
|
||||
<encoder>
|
||||
<pattern>${FILE_LOG_PATTERN}</pattern>
|
||||
<charset>${FILE_LOG_CHARSET}</charset>
|
||||
</encoder>
|
||||
<file>${LOG_FILE}</file>
|
||||
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
|
||||
<fileNamePattern>${LOGBACK_ROLLINGPOLICY_FILE_NAME_PATTERN:-${LOG_FILE}.%d{yyyy-MM-dd}.%i.gz}</fileNamePattern>
|
||||
<cleanHistoryOnStart>${LOGBACK_ROLLINGPOLICY_CLEAN_HISTORY_ON_START:-false}</cleanHistoryOnStart>
|
||||
<maxFileSize>${LOGBACK_ROLLINGPOLICY_MAX_FILE_SIZE:-10MB}</maxFileSize>
|
||||
<totalSizeCap>${LOGBACK_ROLLINGPOLICY_TOTAL_SIZE_CAP:-0}</totalSizeCap>
|
||||
<maxHistory>${LOGBACK_ROLLINGPOLICY_MAX_HISTORY:-7}</maxHistory>
|
||||
</rollingPolicy>
|
||||
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
|
||||
<level>WARN</level>
|
||||
</filter>
|
||||
</appender>
|
||||
<property name="LOG_FILE" value="${LOG_FILE:-${LOG_PATH:-${LOG_TEMP:-${java.io.tmpdir:-/tmp}}}/spring.log}"/>
|
||||
|
||||
<include resource="org/springframework/boot/logging/logback/defaults.xml"/>
|
||||
<include resource="org/springframework/boot/logging/logback/console-appender.xml"/>
|
||||
<include resource="org/springframework/boot/logging/logback/file-appender.xml"/>
|
||||
|
||||
<logger name="org.springframework.context.support.PostProcessorRegistrationDelegate$BeanPostProcessorChecker" level="ERROR"/>
|
||||
<logger name="org.jetlinks.pro.timescaledb.impl.DefaultTimescaleDBDataWriter" level="WARN"/>
|
||||
|
||||
<!--控制台使用异步打印,防止阻塞-->
|
||||
<appender name="AsyncConsoleAppender" class="ch.qos.logback.classic.AsyncAppender">
|
||||
|
|
@ -54,31 +40,10 @@
|
|||
<appender-ref ref="CONSOLE"/>
|
||||
</appender>
|
||||
|
||||
<springProfile name="dev">
|
||||
|
||||
<logger name="system" level="debug">
|
||||
<appender-ref ref="LOGEventPublisher"/>
|
||||
</logger>
|
||||
|
||||
<root level="INFO">
|
||||
<appender-ref ref="AsyncConsoleAppender"/>
|
||||
<appender-ref ref="ErrorLOGEventPublisher"/>
|
||||
</root>
|
||||
</springProfile>
|
||||
|
||||
<springProfile name="test">
|
||||
<root level="INFO">
|
||||
<appender-ref ref="AsyncConsoleAppender"/>
|
||||
<appender-ref ref="FILE"/>
|
||||
</root>
|
||||
</springProfile>
|
||||
|
||||
<springProfile name="prod">
|
||||
<root level="INFO">
|
||||
<appender-ref ref="AsyncConsoleAppender"/>
|
||||
<appender-ref ref="LOGEventPublisher"/>
|
||||
<appender-ref ref="FILE"/>
|
||||
</root>
|
||||
</springProfile>
|
||||
<root level="INFO">
|
||||
<appender-ref ref="AsyncConsoleAppender"/>
|
||||
<appender-ref ref="FILE"/>
|
||||
<appender-ref ref="LOGEventPublisher"/>
|
||||
</root>
|
||||
|
||||
</configuration>
|
||||
Loading…
Reference in New Issue