[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [ecf-dev] Async-Methods
|
Hi folks,
thank you all for the detailed explanations. I guess I got it now.
> But your original takes no String parameter. thus try:
>
> public void getNameAsync(IAsyncCallback<String> callback);
Damn, that was the problem, works fine now! Thanks Markus!
Regards,
Eugen
Am 22.11.2010 um 13:11 schrieb Markus Alexander Kuppe:
> On 11/22/2010 12:59 PM, Eugen Reiswich wrote:
>> Hi folks,
>>
>> I just found out that ECF also supports async-methods and tried to set
>> up a small example using the XMPP-provider. Unfortunately I get an
>> exception trying to call async-methods: java.lang.NoSuchMethodException.
>>
>> Just to make sure I got everything right:
>>
>> 1. I have a service called IExampleService:
>> public interface IExampleService {
>> public String getName();
>> }
>>
>> 2. I've created a second Interface: IExampleServiceAsync in the same
>> package:
>> public interface IExampleServiceAsync extends IAsyncRemoteServiceProxy {
>> public void getNameAsync(String param, IAsyncCallback<String> callback);
>> }
>
> Same package and same bundle?
>
> But your original takes no String parameter. thus try:
>
> public void getNameAsync(IAsyncCallback<String> callback);
>
>> 3. My ServiceImpl implements both interfaces (I've also tried it without
>> implementing IExampleServiceAsync, but same exception):
>> public class ExampleServiceImpl implements IExampleService,
>> IExampleServiceAsync {
>> @Override
>> public String getName() {
>> return"ExampleService";
>> }
>>
>> @Override
>> public void getNameAsync(String param, IAsyncCallback<String> callback) {
>> System.out.println("ExampleServiceImpl.getNameAsync()");
>>
>> callback.onSuccess(getName() + "yeahhh!!!");
>> }
>> }
>
> Your service does not have to implement the *Async interface.
>
>> 4. I've registered the service twice using only one interface:
>> getRemoteServiceContainerAdapter().registerRemoteService(new String[] {
>> IExampleService.class.getName()}, service,
>> null);
>
> No need to register the service with async.
>
> Markus
> _______________________________________________
> ecf-dev mailing list
> ecf-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/ecf-dev