[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[ecf-dev] Using native datatypes as method parameters
|
Title: Using native datatypes as method parameters
Hi,
is it possible to use primitive data types as method parameter in ECF? It seems to me that the deserialization of the shared message objects doesn't work correctly. A java.lang.NoSuchMethodException is always thrown, because ECF is trying to find a method with "class java.lang.Integer" as parameter data type instead of the primitive int data type. I wrote a little example application:
Interface:
public interface Test {
void doSomething(int pBla);
}
Server:
public void start(BundleContext bundleContext) throws Exception {
Activator.context = bundleContext;
Properties props = new Properties();
props.put("service.exported.interfaces", "*");
context.registerService(Test.class.getName(), new Test() {
@Override
public void doSomething(int pBla) {
}
}, props);
}
Client:
Test t = (Test) getContext().getService(reference);
t.doSomething(42);
Throws:
java.lang.NoSuchMethodException: No such method: doSomething([class java.lang.Integer])
at org.eclipse.ecf.core.sharedobject.SharedObjectMsg.doInvoke(SharedObjectMsg.java:310)
at org.eclipse.ecf.core.sharedobject.SharedObjectMsg.invoke(SharedObjectMsg.java:290)
at org.eclipse.ecf.provider.remoteservice.generic.RemoteServiceRegistrationImpl.callService(RemoteServiceRegistrationImpl.java:342)
at org.eclipse.ecf.provider.remoteservice.generic.RegistrySharedObject$11.run(RegistrySharedObject.java:1423)
at org.eclipse.equinox.concurrent.future.SingleOperationFuture$1.run(SingleOperationFuture.java:96)
at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
at org.eclipse.equinox.concurrent.future.SingleOperationFuture.runWithProgress(SingleOperationFuture.java:89)
at org.eclipse.ecf.core.jobs.JobsExecutor.safeRun(JobsExecutor.java:52)
at org.eclipse.ecf.core.jobs.JobsExecutor$1.run(JobsExecutor.java:79)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Configuration:
JDK 1.6_20
ECF 1.4 with patch for Eclipse 3.5, 3.6