我想创建一个只使用ignite-core-2.0.0的小型(est)应用程序并执行Ignite消息传递。我想在某个地方与某个地方交换消息。
我已将IGNITE_HOME设置为./apache-ignite-2.0.0-src,我已经编译了源代码。文件IGNITE_HOME / config / default-config.xml存在且未更改。
以下是在异常
之前运行的代码Ignition.setClientMode(true);
Ignite ignite = Ignition.start();
...
我正在
Exception in thread "main" class org.apache.ignite.IgniteException:
Failed to create Ignite component (consider adding ignite-spring
module to classpath)...
Caused by: java.lang.ClassNotFoundException:
org.apache.ignite.internal.util.spring.IgniteSpringHelperImpl
我没有在Ignite-core JAR中看到IgniteSpringHelperImp l class,并想知道为什么需要它。
如何使用ignite-core JAR进行消息传递?
答案 0 :(得分:4)
这看起来像到目前为止。
IgniteConfiguration cfg = new IgniteConfiguration();
TcpDiscoverySpi spi = new TcpDiscoverySpi();
cfg.setDiscoverySpi(spi);
TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder();
ipFinder.setAddresses(Arrays.asList("127.0.0.1"));
spi.setIpFinder(ipFinder);
Ignite ignite = Ignition.start(cfg);
IgniteMessaging igMsg = ignite.message(ignite.cluster().forLocal());
igMsg.localListen("unorderedTopic", (nodeId, msg) -> {
System.out.println("msg: " + msg + ", from: " + nodeId);
return true; // to continue listening
});
for (int i = 0; i < 10; i++)
igMsg.send("unorderedTopic", Integer.toString(i));
在我的机器上发送和接收消息。