服务器节点在收到消息后如何重新启动客户端节点(Apache Ignite.Net 2.8.1)



我在代码中启动了一个Ignite Server项目和一个Ignate Client项目,现在需要在服务器收到Client消息时重新启动相应的Ignite Client节点。有人做过吗?我查看了Ignite GitHub的源代码。Net不是restartNodes方法,但Java是其中的Java文档链接,我该怎么办?目前,服务器可以从客户端获取IClusterNode信息。这是我的服务器监听消息代码:

public class RestartNodeMessageListener : IMessageListener<string>
{
private readonly IIgnite server;
public RestartNodeMessageListener(IIgnite server)
{
this.server = server;
}

public bool Invoke(Guid nodeId, string message)
{
var clientNodeInfo = server.GetCluster().GetNode(nodeId);
return true;
}
}

似乎是真的,.NET端没有内置的#restartNodes方法。

你可以投票支持IGNITE-3881更快地实现。

同时,可以采用java版本。基本上,集群#restartNodes只是在给定的节点上执行一个致命的Compute调用:

ctx.grid().compute(forNodeIds(ids)).execute(IgniteKillTask.class, true);

IgniteKillTask的源代码非常简单,将其遍历到C#版本应该不会有太多困难。用于G.restartG.kill的Java API可以由Ignition.StopIgnition.Start方法代替。

最新更新