我有一个具有data-r2dbc依赖关系的spring启动应用程序。我使用postgresql作为数据库。
因此,我已经准备好了以下依赖项(gradle表示法):
org.springframework.boot:spring-boot-starter-data-r2dbc:2.3.5.RELEASE io.r2dbc:r2dbc-postgresql
我需要为r2dbc连接启用连接池。不幸的是,我找不到任何详尽的手册这样做。
根据这个相当过时的发行说明,我还必须补充 io.r2dbc:r2dbc-pool
使用 spring.r2dbc.pool.*
要配置池的属性。
另外,根据这个参考,我不需要手动打开池,因为如果 r2dbc-pool
在类路径上找到。
够了吗?还是我错过了什么?
1条答案
按热度按时间vtwuwzda1#
回答我自己的问题。
太长,读不下去了
有
org.springframework.boot:spring-boot-starter-data-r2dbc:2.3.5.RELEASE
足够在默认情况下启用连接池无需添加
io.r2dbc:r2dbc-postgresql
明确地不需要放
:pool:
在本例中的url中一些详细的发现。似乎有两种方法可以启用连接池:
放
:pool:
驱动程序块到url中,然后io.r2dbc.pool.PoolingConnectionFactoryProvider#create
将负责创建连接池。这在中进行了描述https://github.com/r2dbc/r2dbc-pool#getting-开始没有
spring.r2dbc.pool.enabled=false
在configs中(意味着它的缺失被解释为true
默认情况下)。这样,连接池将由org.springframework.boot.autoconfigure.r2dbc.ConnectionFactoryConfigurations.Pool#connectionFactory
. 我不确定,但它看起来像是一个通用的spring引导配置样式覆盖了特定于库的配置样式:pool:
选项。此选项是独立的,部分重叠,第二个选项优先。
第二个组件还评估
:pool:
在url中(请参阅org.springframework.boot.autoconfigure.r2dbc.ConnectionFactoryConfigurations.PooledConnectionFactoryCondition
)如果找到,则将连接池的创建委托给第一个连接池。还有一个特别的结论——有明确的
spring.r2dbc.pool.enabled=false
如果存在连接池,则会导致创建连接池:pool:
在url中。因此,禁用池的唯一方法是spring.r2dbc.pool.enabled=false
以及省略:pool:
同时在url中。