Hi, Vladimir The answer is in API docs: "Gets *locally deployed service* with specified name." [1]
That means {IgniteServices#service(String name)} returns only locally deployed instance or null. {IgniteServices#serviceProxy(…)} returns proxy to call instances across the cluster. Might be used for load-balancing. [1] https://github.com/apache/ignite/blob/56975c266e7019f307bb9da42333a6db4e47365e/modules/core/src/main/java/org/apache/ignite/IgniteServices.java#L569 On Tue, Feb 25, 2020 at 3:51 PM Vladimir Steshin <vlads...@gmail.com> wrote: > Hello, Igniters. > > Previous e-mail was with wrong topic 'daradu...@gmail.com' :) > > I got a question what exactly IgniteServices#service(String name) is > supposed to return: reference to the object or a proxy for some reason like > IgniteServices#serviceProxy(…)? Vyacheslav D., can you tell me your opinion? > > public interface MyService { > > public void foo(); > > } > > public class MyServiceImpl implements Service, MyService { > > @Override public void foo(){ … } > > public void bar(){ … }; > > } > > > // Is it required to support > > MyServiceImpl srvc = ignite.services().service(“myService”); > > srvc.foo(); > > srvc.bar(); > > > > // Or is the only correct way: > > MyService srvc = ignite.services().service(“myService”); > > srvc.foo(); > > -- Best Regards, Vyacheslav D.