hello.

I’m trying to deploy a service and call its method. Topology is one server
and one client.



Service:



[Serializable]

    public class Service1 : IService, IPlusMinusService

    {

        [InstanceResource]

        private readonly IIgnite _ignite;



        private ICache<int, int> _cache;



        public void Init(IServiceContext context)

        {

            _cache = _ignite.GetCache<int, int>("Test_Int_Int");

        }



        public void Execute(IServiceContext context)

        {

            //throw new NotImplementedException();

        }



        public void Cancel(IServiceContext context)

        {

            //throw new NotImplementedException();

        }



        public void PlusOne()

        {

            _cache.Put(1, _cache.Get(1) + 1);

        }



        public void MinusOne()

        {

            _cache.Put(1, _cache.Get(1) - 1);

        }

    }





Code:

     using (var ignite = Ignition.StartFromApplicationConfiguration())

            {

                var cache = ignite.GetOrCreateCache<int, int>("Test_Int_Int"
);

                cache.Put(1, 0);



                var cacheGrp = ignite.GetCluster().ForCacheNodes(
"Test_Int_Int");

                var services = cacheGrp.GetServices();

                services.DeployNodeSingleton("SVC1_1",new Service1());



                IPlusMinusService SVC1_1 = services.GetService<Service1>(
"SVC1_1"); // Returns null

                IPlusMinusService proxy =
services.GetServiceProxy<IPlusMinusService>("SVC1_1");

                proxy.PlusOne();   //Fires an error

}

error log:

2019 12:10:34 PM org.apache.ignite.logger.java.JavaLogger error

SEVERE: Failed to obtain remote job result policy for result from
ComputeTask.result(..) method (will fail the whole task): GridJobResultImp

l [job=C2 [c=ServiceProxyCallable [mtdName=invokeMethod, svcName=SVC1_1,
ignite=null]], sib=GridJobSiblingImpl [sesId=0cca3b46b61-2e1b3707-3

a3a-4819-a903-3b58bb1db2c0,
jobId=1cca3b46b61-2e1b3707-3a3a-4819-a903-3b58bb1db2c0,
nodeId=27895328-1d37-4907-842b-fab79738dbc1, isJobDone=f

alse], jobCtx=GridJobContextImpl
[jobId=1cca3b46b61-2e1b3707-3a3a-4819-a903-3b58bb1db2c0, timeoutObj=null,
attrs={}], node=TcpDiscoveryNode

[id=27895328-1d37-4907-842b-fab79738dbc1, addrs=[0:0:0:0:0:0:0:1,
127.0.0.1, 172.19.91.29], sockAddrs=[DSP-RiskroomDev.bcsprime.local/172.19

.91.29:48500, /0:0:0:0:0:0:0:1:48500, /127.0.0.1:48500], discPort=48500,
order=1, intOrder=1, lastExchangeTime=1560762626538, loc=false, ver

=2.7.0#20181130-sha1:256ae401, isClient=false], ex=class
o.a.i.IgniteException: Service not found: SVC1_1, hasRes=true,
isCancelled=false, i

sOccupied=true]

class org.apache.ignite.IgniteException: Remote job threw user exception
(override or implement ComputeTask.result(..) method if you would l

ike to have automatic failover for this exception): Service not found:
SVC1_1

        at
org.apache.ignite.compute.ComputeTaskAdapter.result(ComputeTaskAdapter.java:102)

        at
org.apache.ignite.internal.processors.task.GridTaskWorker$5.apply(GridTaskWorker.java:1053)

        at
org.apache.ignite.internal.processors.task.GridTaskWorker$5.apply(GridTaskWorker.java:1046)

        at
org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:6848)

        at
org.apache.ignite.internal.processors.task.GridTaskWorker.result(GridTaskWorker.java:1046)

        at
org.apache.ignite.internal.processors.task.GridTaskWorker.onResponse(GridTaskWorker.java:864)

        at
org.apache.ignite.internal.processors.task.GridTaskProcessor.processJobExecuteResponse(GridTaskProcessor.java:1081)

        at
org.apache.ignite.internal.processors.task.GridTaskProcessor$JobMessageListener.onMessage(GridTaskProcessor.java:1316)

        at
org.apache.ignite.internal.managers.communication.GridIoManager.invokeListener(GridIoManager.java:1569)

        at
org.apache.ignite.internal.managers.communication.GridIoManager.processRegularMessage0(GridIoManager.java:1197)

        at
org.apache.ignite.internal.managers.communication.GridIoManager.access$4200(GridIoManager.java:127)

        at
org.apache.ignite.internal.managers.communication.GridIoManager$9.run(GridIoManager.java:1093)

        at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

        at java.lang.Thread.run(Thread.java:748)

Caused by: class org.apache.ignite.IgniteException: Service not found:
SVC1_1

        at
org.apache.ignite.internal.processors.closure.GridClosureProcessor$C2.execute(GridClosureProcessor.java:1858)

        at
org.apache.ignite.internal.processors.job.GridJobWorker$2.call(GridJobWorker.java:568)

        at
org.apache.ignite.internal.util.IgniteUtils.wrapThreadLoader(IgniteUtils.java:6816)

        at
org.apache.ignite.internal.processors.job.GridJobWorker.execute0(GridJobWorker.java:562)

        at
org.apache.ignite.internal.processors.job.GridJobWorker.body(GridJobWorker.java:491)

        at
org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)

        at
org.apache.ignite.internal.processors.job.GridJobProcessor.processJobExecuteRequest(GridJobProcessor.java:1191)

        at
org.apache.ignite.internal.processors.job.GridJobProcessor$JobExecutionListener.onMessage(GridJobProcessor.java:1923)

        ... 7 more

Caused by: class
org.apache.ignite.internal.processors.service.GridServiceNotFoundException:
Service not found: SVC1_1

        at
org.apache.ignite.internal.processors.service.GridServiceProxy$ServiceProxyCallable.call(GridServiceProxy.java:427)

        at
org.apache.ignite.internal.processors.closure.GridClosureProcessor$C2.execute(GridClosureProcessor.java:1855)

        ... 14 more

Reply via email to