Apache Ignite Jdbc 单机上 2 个独立数据网格的连接

Apache Ignite Jdbc connection for 2 separate data grid on single machine

我正在尝试在我的机器上设置以下点燃环境:

devingnite:

IgniteConfiguration cfg = new IgniteConfiguration();
TcpDiscoveryVmIpFinder finder = new TcpDiscoveryVmIpFinder();
finder.setAddresses(Lists.newArrayList("127.0.0.1"));
TcpDiscoverySpi spi = new TcpDiscoverySpi();
cfg.setDiscoverySpi(spi.setIpFinder(finder));
cfg.setGridName("dev");
Ignite dev = Ignition.start(cfg);

测试 ingnite:

IgniteConfiguration cfg = new IgniteConfiguration();
TcpDiscoveryVmIpFinder finder = new TcpDiscoveryVmIpFinder();
finder.setAddresses(Lists.newArrayList("127.0.0.1"));
TcpDiscoverySpi spi = new TcpDiscoverySpi();
cfg.setDiscoverySpi(spi.setIpFinder(finder));
cfg.setGridName("test");
Ignite test = Ignition.start(cfg);

配置中的唯一区别是网格名称('dev' 与 'test')。两个点燃都是 运行 作为单独的 java 过程(例如 java -jar... 与 mvn 测试)。现在我想为每个数据网格建立 jdbc 连接。

Class.forName(IgniteJdbcDriver.class.getName());
DriverManager.getConnection("jdbc:ignite://localhost/" + cacheName);

但我找不到任何选项来定义连接中的网格名称 url。有人可以帮我吗?

我已经用连接器端口解决了这个问题

dev_cfg.getConnectorConfiguration().setPort(11211);
test_cfg.getConnectorConfiguration().setPort(11212);

// dev connection
DriverManager.getConnection("jdbc:ignite://localhost:11211/" + cacheName);
// test connection
DriverManager.getConnection("jdbc:ignite://localhost:11212/" + cacheName);