sql - 在没有数据库的 Apache Ignite 中使用 SQL 查询
问题描述
我使用 Apache Ignite 作为分布式缓存,我使用 Ignite Web 控制台基于现有数据库生成了它的配置——它是一个直写缓存,可以定期将缓存的数据保存到 Postgres 数据库。但是,我想为我的项目用 Java 编写单元测试,并且没有可靠的测试数据库可供使用。
我想要测试的部分内容是我偶尔在我的 Ignite 缓存上运行的缓存查询——我想使用 sql 查询来执行此操作。但是,我不知道如何在没有数据库的情况下从我的缓存配置中保留 queryEntities。我尝试为测试目的制作一个新的 xml 文件,该文件只配置我需要的缓存,并且只设置查询实体(不是数据存储或任何数据库信息),但是当我运行测试时,我得到一个“无法初始化数据库连接”错误——即使我的配置中没有定义数据库。
有没有办法在不将缓存实际连接到数据库的情况下利用这些查询实体?如果没有,是否有一种好方法可以将 postgres 数据库作为单元测试的一部分启动?
解决方案
您需要检查持久性存储配置并首先将其禁用以将所有内容都保存在内存中。
接下来,确保在进行测试缓存配置时没有初始化任何数据库连接(您已经说过您关注这个事实)。
推荐阅读
- javascript - 我收到 TypeError:无法读取未定义的属性“402”,它来自哪里?
- android - 更新地图标记位置 onLocationChanged() 不起作用
- java - 从 Callable 的 Call() 返回列表
- javascript - 我应该在哪里声明在 useEffect() 挂钩中调用的函数?
- reactjs - 我是否需要对功能性反应组件中的功能道具使用 useCallback 挂钩以避免差异?
- ruby - 如何修复在 Windows 上需要“ibm_db”gem 的错误
- jenkins - 任何用于 SAP Hybris 应用程序开发自动化的开源工具?
- c# - 使用泛型 IProcess
需要 1 个类型参数 - 如何返回通用接口? - android - 如何将位置发送到 Firestore 并根据距离获取位置?
- git - 将 gitlab CI/CD 预定义变量作为参数传递给 Qt 中的 .pri 文件