Hi Stephen,
I see you are deploying service from the same client node where proxy is
obtained.
In my setup, I have deployed service through ignite config on server start
and try to create a client later and hence the proxy. It works when I try
to obtain a proxy on the server node. But when I start a client node and
try to obtain service instance through proxy, it throws this exception
mentioned above

On Wed, Aug 31, 2022 at 6:13 PM Stephen Darlington <
stephen.darling...@gridgain.com> wrote:

> You’ll need to share more of your code and configuration. As far as I can
> tell, it works. This is my entire code/configuration, using Ignite 2.11.1
> and Java 11.0.16.1+1.
>
>         var igniteConfiguration = new IgniteConfiguration()
>                 .setPeerClassLoadingEnabled(true)
>                 .setClientMode(true);
>         try (var ignite = Ignition.start(igniteConfiguration)) {
>             var cfg = new ServiceConfiguration()
>                     .setName("MyService")
>                     .setTotalCount(1)
>                     .setMaxPerNodeCount(1)
>                     .setNodeFilter(x -> !x.isClient())
>                     .setService(new MyServiceImpl());
>             ignite.services().deploy(cfg);
>
>   var s = ignite.services().serviceProxy("MyService", MyService.class, false);
>             s.sayHello();
>         }
>
> public interface MyService {
>     public void sayHello();
> }
>
> public class MyServiceImpl implements MyService, Service {
>     @Override
>     public void cancel(ServiceContext serviceContext) {
>
>     }
>
>     @Override
>     public void init(ServiceContext serviceContext) throws Exception {
>
>     }
>
>     @Override
>     public void execute(ServiceContext serviceContext) throws Exception {
>
>     }
>
>     @Override
>     public void sayHello() {
>         System.out.println("Hello, world.");
>     }
> }
>
> On 31 Aug 2022, at 04:17, Surinder Mehra <redni...@gmail.com> wrote:
>
> Please find below
> ignite version: apache-ignite-2.11.1
> VM information: OpenJDK Runtime Environment 11.0.15+9-LTS
>
> On Wed, Aug 31, 2022 at 12:12 AM Stephen Darlington <
> stephen.darling...@gridgain.com> wrote:
>
>> Which version of Ignite? Which version of Java?
>>
>> On 30 Aug 2022, at 13:40, Surinder Mehra <redni...@gmail.com> wrote:
>>
>>
>> 
>> Hi Stephen ,
>>  yes that is implemented correctly and it's running on server nodes as
>> well. Somehow it doesn't work when accessed through proxy
>>
>> On Tue, Aug 30, 2022 at 5:45 PM Stephen Darlington <
>> stephen.darling...@gridgain.com> wrote:
>>
>>> Your service needs to implement org.apache.ignite.services.Service.
>>>
>>> > On 30 Aug 2022, at 12:40, Surinder Mehra <redni...@gmail.com> wrote:
>>> >
>>> > Hi,
>>> > can you help me find out the reason for this exception in thick client
>>> while getting instance of ignite service:
>>> >
>>> > getIgnite()
>>> > .services()
>>> > .serviceProxy("sampleService", SampleService.class, false)
>>> >
>>> > java.lang.ClassCastException: class com.sun.proxy.$Proxy148 cannot be
>>> cast to class com.test.ignite.stuff.services.SampleServiceImpl
>>> (com.sun.proxy.$Proxy148 and
>>> com.test.ignite.stuff.services.SampleServiceImpl are in unnamed module of
>>> loader 'app')
>>> >
>>> > interface SampleService{
>>> >
>>> > }
>>> >
>>> > class SampleServiceImpl implements SampleService{
>>> >
>>> > }
>>> >
>>> > ignite config:
>>> >
>>> > <property name="serviceConfiguration">
>>> >       <list>
>>> >         <bean class="org.apache.ignite.services.ServiceConfiguration">
>>> >           <property name="name" value="sampleService"/>
>>> >           <property name="maxPerNodeCount" value="1"/>
>>> >           <property name="totalCount" value="1"/>
>>> >           <property name="service">
>>> >             <bean
>>> class="com.test.ignite.stuff.services.SampleServiceImpl"/>
>>> >           </property>
>>> >           <property name="nodeFilter">
>>> >             <bean
>>> class="com.test.ignite.stuff.node.filter.ServerNodeFilter"/>
>>> >           </property>
>>> >         </bean>
>>> >       </list>
>>> >     </property>
>>> >
>>> >
>>> >
>>>
>>>
>

Reply via email to