首页 > 解决方案 > 执行:此发布者不支持多个订阅者(spring data r2dbc + oracle-r2dbc)

问题描述

例外

''' org.springframework.dao.DataAccessResourceFailureException: 获取 R2DBC 连接失败;嵌套异常是 java.lang.IllegalStateException:此发布者不支持多个订阅者。在 org.springframework.r2dbc.connection.ConnectionFactoryUtils.lambda$getConnection$0(ConnectionFactoryUtils.java:88) ~[spring-r2dbc-5.3.9.jar:5.3.9] 在 reactor.core.publisher.Mono.lambda$onErrorMap $31(Mono.java:3676) ~[reactor-core-3.4.8.jar:3.4.8]'''

<properties>
    <java.version>11</java.version>
</properties>
<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-r2dbc</artifactId>
    </dependency>
    <dependency>
        <groupId>com.oracle.database.r2dbc</groupId>
        <artifactId>oracle-r2dbc</artifactId>
        <scope>runtime</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-webflux</artifactId>
    </dependency>

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <scope>runtime</scope>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <optional>true</optional>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
    <dependency>
        <groupId>io.projectreactor</groupId>
        <artifactId>reactor-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

标签: spring-bootspring-data-r2dbc

解决方案


似乎是 Oracle R2DBC 中的一个错误,它阻止它与连接池一起工作。


推荐阅读