在将我们的代码库从gridgain移植到ignite时,我发现了大多数点火方法的类似/重命名方法。不过,我需要澄清一些。
什么是
的点火等价物 //Listener for asynchronous local node grid events. You can subscribe for local node grid event notifications via {@link GridEventStorageManager#addLocalEventListener
public interface GridLocalEventListener extends EventListener {}
调用计算未来的推荐方法是什么。有关编译失败的信息,请参见图片。
除此之外,看起来future.listenAsync()应该是future.listen()
final ProcessingTaskAdapter taskAdapter = new ProcessingTaskAdapter(task, manager, node);
ComputeTaskFuture<ProcessingJob> future = grid.cluster()
.forPredicate(this) //===> what should this be
.compute().execute(taskAdapter, job);
future.listen(new IgniteInClosure<IgniteFuture<ProcessingJob>>() {
@Override
public void apply(IgniteFuture<ProcessingJob> future) {
try {
// Need this to extract the remote exception, if one occurred
future.get();
} catch (IgniteException e) {
manager.fail(e.getCause() != null ? e.getCause() : e);
} finally {
manager.finishJob(job);
jobDistributor.distribute(taskAdapter.getSelectedNode());
}
}
答案 0 :(得分:1)
不再有特殊课程,只需使用IgnitePredicate
作为听众。有关详细信息,请参阅[1]。
有关异步支持的信息,请参阅[2]。另请注意,投影被群集组替换[3](因为这样,您的编译错误之一)。你没错,listenAsync
已重命名为listen
。
[1] https://apacheignite.readme.io/docs/events