我有一个 Spring Boot 1.4.7 应用程序,目前正在更新到 2.0.5 版。该应用程序使用 JDBC 使用以下配置连接到 Oracle DB:
spring:
jpa:
database-platform: org.hibernate.dialect.Oracle12cDialect
datasource:
url: jdbc:oracle:thin:@<db_server>
username: ${credentials.database.username}
password: ${credentials.database.password}
driver-class: oracle.jdbc.OracleDriver.class
platform: oracle
tomcat:
connection-properties: v$session.program=${spring.application.name}
Run Code Online (Sandbox Code Playgroud)
将应用程序更新到 Spring Boot 2.0.5 后,发送到服务器的应用程序名称JDBC Thin Client不是${spring.application.name}. 这样做的原因似乎是在 Spring 2.x 中切换到 HikariCP 作为默认连接池。我将如何以允许我将自定义属性发送v$session.program到数据库的方式将此配置迁移到 Hikari ?
我尝试过的:
?ApplicationName=<name>到 JDBC url。System.setProperty("oracle.jdbc.v$session.program", <name>)spring.datasource.hikari.data-source-properties.v$session.program: <name>在 application.yml 中设置这是以下问题的后续问题:
答案(/sf/answers/2280199631/)对我有用。但是,我想将这些配置保存在与 url 配置分开的 application.properties 文件中。这些配置的名称是什么?
我试过了:
connection.useUnicode=true
connection.characterEncoding=utf8
然后我在我的配置类的属性中设置它们:
properties.put("connection.useUnicode", env.getRequiredProperty("connection.useUnicode"));
properties.put("connection.characterEncoding", env.getRequiredProperty("connection.characterEncoding"));
但它不起作用。