2011-02-08 5 views

ответ

3

GWT 2.1.1 добавляет механизм Locator и ServiceLocator, чтобы позволить вам контролировать то, как код сервера RequestFactory получает ссылки на лицо и экземпляры объектов обслуживания.

Например, вы можете объявить код как

class MyService.class { 
    // Note that this is not a static method 
    public void doSomething() {....}; 
} 

class MyServiceLocator implements ServiceLocator { 
    public Object getInstance(Class<?> clazz) { 
    // Or use Guice, Spring, whatever provides instances of MyService 
    return new MyService(); 
    } 
}  

interface MyRequestFactory extends RequestFactory { 
    @Service(value=MyService.class, locator=MyServiceLocator.class) 
    interface ServiceRequest extends RequestContext { 
    Request<Void> doSomething(); 
    } 
    ServiceRequest myService(); 
} 

Если вам нужно еще больше контроля над тем, как RequestFactory взаимодействует с объектами домена сервера или код сервиса, вы можете вводить экземпляры ServiceLayerDecorator в уровне услуг.

+0

Есть ли пример или эстафета, демонстрирующая эти функции? Спасибо –

+1

Thomas Broyer был очень активным пользователем, который внес вклад в функции и документацию RequestFactory. Он работает над серией сообщений в блогах о РФ. http://tbroyer.posterous.com/gwt-211-requestfactory-partii. Он также довольно много опубликовал в GWT Google Group. – BobV

+0

В каком пакете я пишу класс MyServiceLocator? в общем или сервере? Я попытался сделать это в общем пакете, но он дает ошибку: нет исходного кода для типа com.google.gwt.sample.server.TreeService; вы забыли унаследовать необходимый модуль? Вероятно, это связано с тем, что общий пакет не должен ссылаться на классы из пакета сервера. –

 Смежные вопросы

  • Нет связанных вопросов^_^