问题描述
我可以知道一种方法来为在 maven 项目中编写的 Gridgain 客户端作为胖客户端实现单元测试吗?需要在单元测试中测试sql、Transactions、locking等缓存特性的基础API。
解决方法
您可以在同一个 JVM 中启动多个节点并形成一个集群,然后测试任何功能,它将表现得像一个真正的集群(因为它是)。
IgniteConfiguration serverCfg = new IgniteConfiguration()
.setIgniteInstanceName("server")
.setDiscoverySpi(new TcpDiscoverySpi()
.setIpFinder(new TcpDiscoveryVmIpFinder()
.setAddresses(Arrays.asList("127.0.0.1:47500..47503"))));
Ignite server = Ignition.start(serverCfg);
IgniteConfiguration clientCfg = new IgniteConfiguration()
.setIgniteInstanceName("client")
.setClientMode(true)
.setDiscoverySpi(new TcpDiscoverySpi()
.setIpFinder(new TcpDiscoveryVmIpFinder()
.setAddresses(Arrays.asList("127.0.0.1:47500..47503"))));
Ignite client = Ignition.start(clientCfg);
client.getOrCreateCache("c").put(1,"Hello");