У меня есть несколько источников данных в приложении весенней загрузки, настроенное следующим образом:
spring:
application:
name: myapp
main:
allow-bean-definition-overriding: true
datasource-secondary:
type: com.zaxxer.hikari.HikariDataSource
jdbc-url: jdbc:oracle:thin:...
username: ...
password: ...
driver-class-name: oracle.jdbc.OracleDriver
connection-timeout: 20000
maximum-pool-size: 10
pool-name: secondary-pool
datasource-primary:
type: com.zaxxer.hikari.HikariDataSource
jdbc-url: jdbc:postgresql...
username: ...
password: ...
driver-class-name: org.postgresql.Driver
connection-timeout: 20000
maximum-pool-size: 10
pool-name: primary-pool
@EnableTransactionManagement
@Configuration
public class DataSourceConfig {
@Bean
@ConfigurationProperties("spring.datasource-secondary")
public DataSource secondaryDatasource() {
return DataSourceBuilder.create().build();
}
@Bean
@Primary
@ConfigurationProperties("spring.datasource-primary")
public DataSource primaryDatasource() {
return DataSourceBuilder.create().build();
}
@PostConstruct
public void setUp() {
System.setProperty("oracle.jdbc.timezoneAsRegion", "false");
System.setProperty("oracle.jdbc.fanEnabled", "false");
}
}
Поскольку у меня есть 1 источник данных как oracle, мне нужно отключить свойства oracle .jdb c .timezoneAsRegion. Следовательно, я попытался установить с помощью postconstruct, однако это не работает, когда я пытаюсь запустить изображение своего приложения через docker.
Я знаю, что могу установить эти аргументы vm через docker -compose.yaml однако в среде uat приложения не запускаются с использованием docker, только изображение запускается из простой команды java.
Как я могу установить эти аргументы vm в приложении загрузки Spring, чтобы это изображение может работать без таких сбоев?
Добавлены сюда эти свойства, но они все еще не установлены.
введите описание изображения здесь