Search code examples
gridgainignite

Porting from gridgain to ignite - what the ignite equivalents for these gridgain methods


In porting our code base from gridgain to ignite, I've found similar / renamed methods for most of the ignite methods. There are a few that I need to clarify though.

  1. What is the ignite equivalent for

        //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 {}
    
  2. What is the recommended way to invoke a compute future. See picture for compile failures.

Apart from that, it looks like future.listenAsync() should be 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());
                }
            }

GridGain vs Ignite


Solution

    1. There is no special class anymore, you simply use IgnitePredicate as a listener. Refer to [1] for details.

    2. Refer to [2] for information about async support. Also note that projections were replaced with cluster groups [3] (one of your compile errors is because of that). And you're correct, listenAsync was renamed to listen.

    [1] https://apacheignite.readme.io/docs/events

    [2] https://apacheignite.readme.io/docs/async-support

    [3] https://apacheignite.readme.io/docs/cluster-groups