Vladislav, I've applied your suggestion. Still, Ignite closes the service running in all the nodes,
ClusterGroup grp = ignite.cluster().forNode(ignite.cluster().localNode()); ignite.services(grp).cancel(calcService); *Exception* class org.apache.ignite.IgniteException: Failed to find deployed service: CalcService at org.apache.ignite.internal.processors.service.GridServiceProxy.invokeMethod(GridServiceProxy.java:155) at org.apache.ignite.internal.processors.service.GridServiceProxy$ProxyInvocationHandler.invoke(GridServiceProxy.java:331) at com.sun.proxy.$Proxy28.add(Unknown Source) at my.apache.ignite.examples.servicegrid.ServiceDeployer.useService(ServiceDeployer.java:63) Re-framing my question: - Is Service.cancel() method is not a appropriate place for resource cleanups on shutdown? - How to tell Ignite to move a clustered singleton service from one node to another with external scripts? -- Kamal On Sat, Jul 9, 2016 at 1:07 AM, Vladislav Pyatkov <vldpyat...@gmail.com> wrote: > Hello Kamal, > > Try to use Ignite.services(ClusterGroup > <http://ignite.apache.org/releases/1.0.0/javadoc/org/apache/ignite/cluster/ClusterGroup.html> > grp) > for local node group. > > > *Ignition.ignite().services(Ignition.ignite().cluster().localNode()).cancel(serviceName);* > > On Fri, Jul 8, 2016 at 9:48 AM, Kamal C <kamaltar...@gmail.com> wrote: > >> Hi, >> >> I have a 3 node Ignite cluster and deployed a service using Node >> Singleton approach. The service started to run in all the 3 nodes. >> >> Whenever a node stopped, the below line gets called as I'm doing resource >> cleanups inside *IgniteService.cancel(ServiceContext context)* method. >> >> *Ignition.ignite().services().cancel(serviceName);* >> >> But, it cancels the service from all the nodes. How to cancel a locally >> running Ignite service gracefully? >> >> -- >> Kamal >> > > > > -- > Vladislav Pyatkov >