我有一个带有鉴别器公式的实体/模型,现在我正在分配一个鉴别器公式,如下面的样本,
@Entity
@DiscriminatorFormula("type")
class Student {
// code
}
Run Code Online (Sandbox Code Playgroud)
在同样的情况下,如何application.properties在Spring Boot中分配鉴别器值?
我正在开发 Spring boot 应用程序以及 liquibase 版本 3.5.3,其中我需要为 liquibase 任务和应用程序执行配置两个不同的 JNDI 数据源。我在 tomcat server.xml 文件中创建了两个不同的 JNDI 数据源
<Resource name="JDBC/DSAdmin"
global="jdbc/DSAdmin"
auth="Container"
factory="com.zaxxer.hikari.HikariJNDIFactory"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
jdbcUrl="jdbc:mysql://localhost:3306/dbname"
username="admin"
password="admin"
minimumIdle="5" maximumPoolSize="50" connectionTimeout="300000" maxLifetime="1800000" />
and
<Resource name="jdbc/DS"
global="jdbc/DS"
auth="Container"
factory="com.zaxxer.hikari.HikariJNDIFactory"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
jdbcUrl="jdbc:mysql://localhost:3306/database"
username="root"
password="root"
minimumIdle="5" maximumPoolSize="50" connectionTimeout="300000" maxLifetime="1800000" />
Run Code Online (Sandbox Code Playgroud)
我需要使用 jdbc/DSAdmin 连接池运行 liquibase 任务,并使用 jdbc/DS 连接池运行应用程序。
但liquibase版本3.5.3不提供任何属性来使用tomcat服务器资源指定数据源。
在 application.properties 文件中,我已经配置spring.datasource.jndi-name = java:comp/env/jdbc/DSAdmin
同样我想配置liquibase.datasoure=java:comp/env/jdbc/DS
这是我的 context.xml 文件
<ResourceLink name="jdbc/DS"
global="jdbc/DS"
auth="Container"
type="javax.sql.DataSource" />
<ResourceLink name="jdbc/DSAdmin"
global="jdbc/DSAdmin"
auth="Container"
type="javax.sql.DataSource" />
Run Code Online (Sandbox Code Playgroud)