无法注入默认的MySQL数据源

问题描述 投票:0回答:1

我正在尝试注入默认数据源,但是出现以下错误:

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() {...}
}

您对如何解决此行为有任何想法吗?当我想设置休眠模式时,这会导致我出现问题。

java mysql jdbc datasource quarkus
1个回答
0
投票
© www.soinside.com 2019 - 2024. All rights reserved.