Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
cellar-3.0.1, cellar-3.0.2
-
Ubuntu 14.04.1 LTS
Description
Apparently cellar DOSGi does not support Service methods with inheritance in its signature:
On the client side (service consumer) the call to the remote service times out.
On the server side (service implementation) the following exception is thrown:
2015-04-08 10:56:09,791 | ERROR | pool-8-thread-1 | RemoteServiceCallHandler | 75 - org.apache.karaf.cellar.dosgi - 3.0.2 | CELLAR DOSGI: unable to find remote method for service
java.lang.NoSuchMethodException: Proxy2955ffcf_d585_47e6_b5eb_3b91dc4f8522.greet(org.apache.karaf.cellar.samples.dosgi.greeter.api.GreeterEvent, org.apache.karaf.cellar.samples.dosgi.greeter.api.Greet)
at java.lang.Class.getMethod(Class.java:1786)[:1.8.0_40]
at org.apache.karaf.cellar.dosgi.RemoteServiceCallHandler.handle(RemoteServiceCallHandler.java:90)[75:org.apache.karaf.cellar.dosgi:3.0.2]
at org.apache.karaf.cellar.dosgi.RemoteServiceCallHandler.handle(RemoteServiceCallHandler.java:37)[75:org.apache.karaf.cellar.dosgi:3.0.2]
at Proxy286b40f1_fb6f_4df3_a13a_361f80171460.handle(Unknown Source)[:]
at Proxy294bbf78_d128_472c_8251_a39a8e924c21.handle(Unknown Source)[:]
at org.apache.karaf.cellar.core.event.EventDispatchTask.run(EventDispatchTask.java:57)[68:org.apache.karaf.cellar.core:3.0.2]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_40]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_40]
at java.lang.Thread.run(Thread.java:745)[:1.8.0_40]
You can use https://github.com/albertocsm/karaf-cellar-example to check the behaviour