首页 > 解决方案 > 在没有数据库的 Apache Ignite 中使用 SQL 查询

问题描述

我使用 Apache Ignite 作为分布式缓存,我使用 Ignite Web 控制台基于现有数据库生成了它的配置——它是一个直写缓存,可以定期将缓存的数据保存到 Postgres 数据库。但是,我想为我的项目用 Java 编写单元测试,并且没有可靠的测试数据库可供使用。

我想要测试的部分内容是我偶尔在我的 Ignite 缓存上运行的缓存查询——我想使用 sql 查询来执行此操作。但是,我不知道如何在没有数据库的情况下从我的缓存配置中保留 queryEntities。我尝试为测试目的制作一个新的 xml 文件,该文件只配置我需要的缓存,并且只设置查询实体(不是数据存储或任何数据库信息),但是当我运行测试时,我得到一个“无法初始化数据库连接”错误——即使我的配置中没有定义数据库。

有没有办法在不将缓存实际连接到数据库的情况下利用这些查询实体?如果没有,是否有一种好方法可以将 postgres 数据库作为单元测试的一部分启动?

标签: sqlpostgresqlignite

解决方案


您需要检查持久性存储配置并首先将其禁用以将所有内容都保存在内存中。
接下来,确保在进行测试缓存配置时没有初始化任何数据库连接(您已经说过您关注这个事实)。


推荐阅读