[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