1
0

feat: 增加外部配置项

This commit is contained in:
2024-11-03 13:24:24 +08:00
parent 7b00b6792b
commit 5afed1a8bd
4 changed files with 21 additions and 18 deletions

14
.gitignore vendored
View File

@@ -5,18 +5,6 @@ build/
!**/src/main/**/build/ !**/src/main/**/build/
!**/src/test/**/build/ !**/src/test/**/build/
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/
### IntelliJ IDEA ### ### IntelliJ IDEA ###
.idea .idea
*.iws *.iws
@@ -41,4 +29,4 @@ out/
### Database ### ### Database ###
*.db *.db
database.json database

1
scripts/start.bat Normal file
View File

@@ -0,0 +1 @@
C:\Users\Administrator\.jdks\jdk-17.0.12+7\bin\java -jar digital-market-0.0.1.jar --messenger.driver.driver-path=C:\Users\Administrator\IdeaProjects\appdriver\chrome\chromedriver.exe --messenger.driver.binary-path=C:\Users\Administrator\IdeaProjects\appdriver\chrome\chromium\chrome.exe

View File

@@ -2,11 +2,11 @@ package com.lanyuanxiaoyao.digtal.market
import com.lanyuanxiaoyao.digtal.market.runner.NewsRunner import com.lanyuanxiaoyao.digtal.market.runner.NewsRunner
import com.lanyuanxiaoyao.digtal.market.runner.PushRunner import com.lanyuanxiaoyao.digtal.market.runner.PushRunner
import com.lanyuanxiaoyao.digtal.market.sender.DingtalkSender
import com.lanyuanxiaoyao.squirrel.core.common.Management import com.lanyuanxiaoyao.squirrel.core.common.Management
import com.lanyuanxiaoyao.squirrel.core.jvm.BINARY_PATH import com.lanyuanxiaoyao.squirrel.core.jvm.BINARY_PATH
import com.lanyuanxiaoyao.squirrel.core.jvm.DRIVER_PATH import com.lanyuanxiaoyao.squirrel.core.jvm.DRIVER_PATH
import com.lanyuanxiaoyao.squirrel.core.jvm.JvmManagement import com.lanyuanxiaoyao.squirrel.core.jvm.JvmManagement
import com.lanyuanxiaoyao.squirrel.core.jvm.LocalFileDatabase
import jakarta.annotation.Resource import jakarta.annotation.Resource
import org.slf4j.LoggerFactory import org.slf4j.LoggerFactory
import org.springframework.boot.ApplicationArguments import org.springframework.boot.ApplicationArguments
@@ -24,6 +24,12 @@ import org.springframework.scheduling.annotation.EnableScheduling
import org.springframework.web.servlet.config.annotation.CorsRegistry import org.springframework.web.servlet.config.annotation.CorsRegistry
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer import org.springframework.web.servlet.config.annotation.WebMvcConfigurer
@ConfigurationProperties(prefix = "messenger.database")
data class DatabaseProperties @ConstructorBinding constructor(
val h2Path: String,
val jsonPath: String,
)
@ConfigurationProperties(prefix = "messenger.driver") @ConfigurationProperties(prefix = "messenger.driver")
data class DriverProperties @ConstructorBinding constructor( data class DriverProperties @ConstructorBinding constructor(
val driverPath: String, val driverPath: String,
@@ -53,7 +59,7 @@ class Application : ApplicationRunner, ApplicationListener<ContextClosedEvent> {
override fun run(args: ApplicationArguments?) { override fun run(args: ApplicationArguments?) {
// pushRunner.run() // pushRunner.run()
newsRunner.run() // newsRunner.run()
} }
override fun onApplicationEvent(event: ContextClosedEvent) { override fun onApplicationEvent(event: ContextClosedEvent) {
@@ -65,7 +71,12 @@ class Application : ApplicationRunner, ApplicationListener<ContextClosedEvent> {
@ExperimentalStdlibApi @ExperimentalStdlibApi
class Configuration { class Configuration {
@Bean @Bean
fun jvmManagement(driverProperties: DriverProperties): Management = JvmManagement().also { management -> fun jvmManagement(
driverProperties: DriverProperties,
databaseProperties: DatabaseProperties
): Management = JvmManagement(
database = LocalFileDatabase(databaseProperties.jsonPath)
).also { management ->
management management
.fetchConfiguration() .fetchConfiguration()
.let { information -> .let { information ->

View File

@@ -14,7 +14,7 @@ spring:
ssl: ssl:
enable: true enable: true
datasource: datasource:
url: jdbc:h2:./database.db;MODE=MySQL;DATABASE_TO_LOWER=TRUE;CASE_INSENSITIVE_IDENTIFIERS=TRUE url: jdbc:h2:${messenger.database.h2-path};MODE=MySQL;DATABASE_TO_LOWER=TRUE;CASE_INSENSITIVE_IDENTIFIERS=TRUE
username: lanyuanxiaoyao username: lanyuanxiaoyao
password: lanyuanxiaoyao password: lanyuanxiaoyao
driver-class-name: org.h2.Driver driver-class-name: org.h2.Driver
@@ -36,3 +36,6 @@ messenger:
driver: driver:
driver-path: /Users/lanyuanxiaoyao/Downloads/chromium/128/macOS-1289987/chromedriver driver-path: /Users/lanyuanxiaoyao/Downloads/chromium/128/macOS-1289987/chromedriver
binary-path: /Users/lanyuanxiaoyao/Downloads/chromium/128/macOS-1289987/Chromium.app/Contents/MacOS/Chromium binary-path: /Users/lanyuanxiaoyao/Downloads/chromium/128/macOS-1289987/Chromium.app/Contents/MacOS/Chromium
database:
h2-path: ./database/database.db
json-path: ./database/database.json