【发布时间】:2020-08-15 21:46:51
【问题描述】:
我正在努力注入默认数据源,但出现以下错误:
javax.enterprise.inject.IllegalProductException:正常范围的生产者方法可能不会返回 null: io.quarkus.agroal.runtime.DataSourceProducer.createDefaultDataSource()
这是我目前的情况:
application.properties
quarkus.datasource.driver = com.mysql.cj.jdbc.Driver
quarkus.datasource.jdbc.url=jdbc:mysql://localhost:3307/sandbox
quarkus.datasource.username=root
quarkus.datasource.password=password
quarkus.datasource.jdbc.min-size=0
quarkus.datasource.jdbc.max-size=11
MyClass.java
@ApplicationScoped
public class MyClass {
@Inject
AgroalDataSource dataSource;
void methodUsingDataSource() {...}
}
但是,我使它与具有 SAME 配置作为默认配置的命名数据源一起使用:
application.properties
quarkus.datasource.users.driver = com.mysql.cj.jdbc.Driver
quarkus.datasource.users.url=jdbc:mysql://localhost:3307/sandbox
quarkus.datasource.users.username=root
quarkus.datasource.users.password=password
quarkus.datasource.users.min-size=0
quarkus.datasource.users.max-size=11
MyClass.java
@ApplicationScoped
public class MyClass {
@Inject
@DataSource("users")
AgroalDataSource dataSource;
void methodUsingDataSource() {...}
}
您对如何解决此行为有任何想法吗?当我想设置 Hibernate 时,这会给我带来问题。
【问题讨论】:
标签: java mysql jdbc datasource quarkus