我正在尝试在weblogic服务器上部署我的应用程序,我的应用程序有一个内存数据库,因为我使用HSQLDB进行JUNIT,我想保留HSQL作为我的内存数据库(主要是比德比稍微好一点的性能) )。由于weblogic已经是derby,当我尝试部署应用程序时,derby正在开始而不是HSQL。在初步调查中,我发现由于Derby在EmbeddedDatabaseConnection.java中定义了HSQL,因此首先启动Derby数据库。是否有任何特定的配置,我可以明确地将数据库类型嵌入到HSQL中,而不是允许spring boot基于库/类启动数据库
答案 0 :(得分:1)
我首先想到的是从类路径中删除Derby并只留下HSQL。 Spring Boot docs:
如果HSQLDB在您的类路径上,并且您尚未手动配置 任何数据库连接bean,然后我们将自动配置一个 内存数据库。
如果这不是一个选项,您可以指定
通过查看连接类型来检测嵌入式数据库:嵌入了hsqldb,h2和derby,其余的则没有。
HSQL显式为主要数据源:
@Configuration
public class DataSourceConfig {
@Bean
public DataSource dataSource() {
return new EmbeddedDatabaseBuilder()
.setType(EmbeddedDatabaseType.HSQL)
.build();
}
}
定义spring.datasource.type
属性