首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >带有天桥的Quarkus反应性冬眠

带有天桥的Quarkus反应性冬眠
EN

Stack Overflow用户
提问于 2021-02-18 13:02:14
回答 1查看 2.6K关注 0票数 7

当我尝试在& RESTEasy中使用Quarkus扩展时,我遇到了一个问题。启动应用程序时,会出现以下错误:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[io.qu.ru.Application] (Quarkus Main Thread) Failed to start application (with profile dev): java.lang.IllegalStateException: Booting an Hibernate Reactive serviceregistry on a non-reactive RecordedState!
    at io.quarkus.hibernate.reactive.runtime.boot.registry.PreconfiguredReactiveServiceRegistryBuilder.checkIsReactive(PreconfiguredReactiveServiceRegistryBuilder.java:76)
    at io.quarkus.hibernate.reactive.runtime.boot.registry.PreconfiguredReactiveServiceRegistryBuilder.<init>(PreconfiguredReactiveServiceRegistryBuilder.java:66)
    at io.quarkus.hibernate.reactive.runtime.FastBootHibernateReactivePersistenceProvider.rewireMetadataAndExtractServiceRegistry(FastBootHibernateReactivePersistenceProvider.java:177)
    at io.quarkus.hibernate.reactive.runtime.FastBootHibernateReactivePersistenceProvider.getEntityManagerFactoryBuilderOrNull(FastBootHibernateReactivePersistenceProvider.java:156)
    at io.quarkus.hibernate.reactive.runtime.FastBootHibernateReactivePersistenceProvider.createEntityManagerFactory(FastBootHibernateReactivePersistenceProvider.java:82)

以下是相关的Quarkus配置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
quarkus:
  datasource:
    db-kind: "postgresql"
    username: "sarah"
    password: "connor"
    jdbc:
      ~: true
      url: "jdbc:postgresql://localhost:5432/mybase"
    reactive:
      ~: true
      url: "postgresql://localhost:5432/mybase"

以及相关的依赖关系:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-hibernate-reactive-panache</artifactId>
</dependency>
<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-reactive-pg-client</artifactId>
</dependency>
<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-flyway</artifactId>
</dependency>
<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-jdbc-postgresql</artifactId>
</dependency>

使用~: false禁用JDBC配置可以避免异常,但是应用程序不会在启动时启动Flyway迁移。在这种情况下,我看到以下信息:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[io.qu.ag.de.AgroalProcessor] (build-39) The Agroal dependency is present but no JDBC datasources have been defined.

在某些Quarkus问题上,我发现不可能同时运行反应性数据库连接和阻塞数据库连接,但是是否有一种方法可以让Flyway使用反应性 Quarkus应用程序?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-07 06:16:04

目前,它们似乎并不同时支持阻塞JDBC和反应性sql客户端。解决方法是为Quarkus运行时禁用JDBC,并编写自己的包装器来执行Flyway迁移。

下面的解决方法是基于他们相应的GitHub问题

在应用程序启动时运行的天桥包装器:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@ApplicationScoped
public class RunFlyway {

    @ConfigProperty(name = "myapp.flyway.migrate")
    boolean runMigration;

    @ConfigProperty(name = "quarkus.datasource.reactive.url")
    String datasourceUrl;
    @ConfigProperty(name = "quarkus.datasource.username")
    String datasourceUsername;
    @ConfigProperty(name = "quarkus.datasource.password")
    String datasourcePassword;

    public void runFlywayMigration(@Observes StartupEvent event) {
        if (runMigration) {
            Flyway flyway = Flyway.configure().dataSource("jdbc:" + datasourceUrl, datasourceUsername, datasourcePassword).load();
            flyway.migrate();
        }
    }
}

pom.xml:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!-- DB -->
<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-reactive-pg-client</artifactId>
</dependency>
<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-hibernate-reactive</artifactId>
</dependency>

<!-- Flyway -->
<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-flyway</artifactId>
</dependency>
<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-jdbc-postgresql</artifactId>
</dependency>

application.yml:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
myapp:
  flyway:
    migrate: true
quarkus:
  datasource:
    db-kind: postgresql
    username: myuser
    password: mypassword
    jdbc: false
    reactive:
      url: postgresql://localhost:5432/mydb
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66268122

复制
相关文章
Excel如何统计重复次数
在 Excel 中有时我们会需要统计特定单元格在某个区域范围内的重复次数,虽然工具栏并没有直接提供此功能,但借助 COUNTIF 函数可以轻松的完成任务。
reizhi
2022/09/26
1.8K0
Excel如何统计重复次数
python统计元素重复次数
python统计元素重复次数 # !/usr/bin/python3.4 # -*- coding: utf-8 -*- from collections import Counter arr = ['BAISC', 'Python', 'BASICA', 'GVBASIC', 'GWBASIC', 'Python', 'ETBASIC', 'QBASIC', 'Quick', 'Basic', 'Turbo', 'Basic'] counts = list(Counter(arr).items())
机器学习和大数据挖掘
2019/07/02
1.3K0
如何优雅的统计List集合中元素重复出现次数
统计List集合中元素出现的次数,相信大家都做过。举个例子,我们要统计集合中名字重复的次数。
Lvshen
2022/05/05
2.3K0
如何优雅的统计List集合中元素重复出现次数
WordPress实现文章浏览次数统计代码
在WordPress主题开发过程中,往往会需要统计文章的浏览次数。网上的教程也非常多,但是WordPress不断更新迭代加之PHP版本升级好多教程都是几年前甚至更早的是时候发布的,即使能用也会出现版本不兼容等问题,也是非常难受的,所以我准备了一份目前为止最新的代码给大家使用!
空木白博客
2019/08/30
1.3K0
代码实现——MapReduce统计单词出现次数
对以下txt文档进行单词出现次数统计(txt文档在/Users/lizhengi/test/input/目录下)
栗筝i
2022/12/01
9960
如何定义和统计用户的登录次数?
大家好,我是姬小光,欢迎来到我的专栏!本期我们来聊聊互联网产品的登录是怎么回事儿,以及如何合理地定义用户的登录次数。
姬小光
2020/03/09
4.4K0
如何定义和统计用户的登录次数?
Excel函数与VBA多条件统计不重复出现的次数
=SUM(IF(MATCH($B$2:$B$41&$A$2:$A$41,$B$2:$B$41&$A$2:$A$41,0)=ROW($A$1:$A$40),1,0)*($B$2:$B$41=G1))
哆哆Excel
2022/10/25
2.2K0
Excel函数与VBA多条件统计不重复出现的次数
使用 WP-Postviews 统计日志浏览次数
WP-Postviews 是我一直推荐的插件之一,它可以在统计每篇日志被浏览的次数,通过对每篇日志的统计,这样我就可以知道哪些日志受读者欢迎,并且可以实现博客日志流量 Top 10 等功能,非常方便和强大。并且最新版的 Postviews 还支持缓存,在你的博客使用 WP Super Cache 等缓存插件缓存之后,它照样还可以进行统计。
Denis
2023/04/15
6150
Python中如何统计文本词汇出现的次数?
有时在遇到一个文本需要统计文本内词汇的次数的时候,可以用一个简单的python程序来实现。
小小科
2020/04/29
4K0
如何编写可靠的代码
介绍 当你得到一个小older-my但你妻子说我不是老愤世嫉俗者。这是为什么许多老男人不要说(或写)那么多:我们知道没有人注意。当你获得AARP另一个问题是,你相信你知道什么是真理,其他的都是废话。 本着这一精神,我可以这篇文章题为“结对编程是输家,”“为什么你的代码很烂,”或“经理是白痴,”但我确信琼斯先生不会打印。我可以告诉你的是,我能写的就是我所相信的,不是你想听到的或者是受欢迎的。很多人想听或相信什么是错的。 978年我写了第一行代码。可能有人会说我在1988年第一次得到这样做,我没有做其他。,阅读
用户1289394
2018/02/27
1.4K0
Pandas中如何统计各个销售地出线的次数?
前几天在Python最强王者交流群【wen】问了一个Pandas数据处理的问题,一起来看看吧。
前端皮皮
2023/10/17
1480
Pandas中如何统计各个销售地出线的次数?
盘点对Python列表中每个元素前面连续重复次数的数列统计
前几天在Python钻石流群有个叫【周凡】的粉丝问了Python列表的问题,如下图所示。
Python进阶者
2022/06/05
2.4K0
盘点对Python列表中每个元素前面连续重复次数的数列统计
如何使用Vim编写和调试Python代码
要想在Ubuntu下使用VIM编写和调试Python代码,请下安装如下的链接进行配置:
py3study
2020/01/13
4K0
巧用HashMap一行代码统计单词出现次数
JDK是在一直在迭代更新的,很多我们熟悉的类也悄悄的添加了一些新的方法特性。比如我们最常用的HashMap。
程序那些事
2020/09/03
4640
如何编写可怕的 Java 代码?
我决定告诉你如何编写可怕的Java代码。如果你厌倦了所有这些美丽的设计模式和最佳实践,并且想写些疯狂的东西,请继续阅读。
芋道源码
2020/03/02
9260
如何编写漂亮的 React 代码?
React 代码很难看。我不是在谈论这个框架的任何技术特性;我说的是直观的美学,代码在我屏幕上的样子,以及它所唤起的感觉。
深度学习与Python
2021/01/20
9810
如何编写可怕的 Java 代码?
我决定告诉你如何编写可怕的Java代码。如果你厌倦了所有这些美丽的设计模式和最佳实践,并且想写些疯狂的东西,请继续阅读。
Java技术栈
2020/02/21
1K0
分ip统计网站的访问次数
Map什么时候创建(使用ServletContextListener,在服务器启动时完成创建,并只在到ServletContext中),Map保存到哪里!(Map保存到ServletContext中!!!)
星哥玩云
2022/09/14
2.1K0
分ip统计网站的访问次数
如何编写可怕的Java代码?
我决定告诉你如何编写可怕的Java代码。如果你厌倦了所有这些美丽的设计模式和最佳实践,并且想写些疯狂的东西,请继续阅读。
武培轩
2019/12/12
9520
点击加载更多

相似问题

为什么+=不将变量的值相加?

218

为什么不将count作为全局值?(赋值前引用的局部变量'count‘)

118

为什么gets不将值存储在变量中?

43

JavaScript不将变量写入数字(循环)

32

不将值存储到变量

32
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文