如何在启动Quarkus应用程序时禁用Cassandra数据库连通性测试?



我需要在启动Quarkus应用程序时关闭Cassandra数据库连接/运行状况测试。只有当应用程序能够访问数据库时,它才能成功启动。我只需要在测试时关闭它,例如,当我使用maven (mvn clean install)运行测试时。是否有办法在应用程序中配置它。物业还是其他地方?

提前感谢!: -)

您可以使用Quarkus配置文件更改您的测试连接到的Cassandra数据库。例如,

%prod.quarkus.cassandra.contact-points=my-cassandra:9042
%dev.quarkus.cassandra.contact-points=127.0.0.1:9042

这可能会让你走一部分路。正如Erick Ramirez所说,完全禁用应用程序的Cassandra部分将在测试覆盖率(和测试真实性)方面有一些缺点。对于许多Quarkus扩展来说,有一些开发服务会在运行测试时自动建立一个依赖实例,并且是在开发模式下。看起来Cassandra扩展还没有实现这个功能。作为一种替代方法,您可以使用Cassandra支持的测试容器。这比让Quarkus开发服务"免费"做更多的工作,但并非不可能。

我认为这是不可能的,因为这样做没有意义。

应用程序启动顺序的一部分是连接到数据库。如果它不能连接到数据库,应用程序将无法启动。这是设计的正常行为。

作为旁注,我将联系那些为Cassandra-Quarkus扩展做出贡献的开发者,让他们直接回复你的帖子。干杯!

很抱歉回复晚了。您是否使用了eager init?如果是这样,您可以尝试使用lazy init:

quarkus.cassandra.init.eager-init=false

当使用lazy init时,Cassandra会话bean直到应用程序需要时才会被创建。点击这里了解更多。

相关内容

  • 没有找到相关文章

最新更新