Мне нужно использовать GWT с доменом уровня сервиса - не bean с DAO. Для этого установлена архитектура GWT 2.1 с MVP и RequestFactory? Или я должен остаться с RPC?RequestFactory с сервисным слоем
Благодаря
Мне нужно использовать GWT с доменом уровня сервиса - не bean с DAO. Для этого установлена архитектура GWT 2.1 с MVP и RequestFactory? Или я должен остаться с RPC?RequestFactory с сервисным слоем
Благодаря
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
в уровне услуг.
Есть ли пример или эстафета, демонстрирующая эти функции? Спасибо –
Thomas Broyer был очень активным пользователем, который внес вклад в функции и документацию RequestFactory. Он работает над серией сообщений в блогах о РФ. http://tbroyer.posterous.com/gwt-211-requestfactory-partii. Он также довольно много опубликовал в GWT Google Group. – BobV
В каком пакете я пишу класс MyServiceLocator? в общем или сервере? Я попытался сделать это в общем пакете, но он дает ошибку: нет исходного кода для типа com.google.gwt.sample.server.TreeService; вы забыли унаследовать необходимый модуль? Вероятно, это связано с тем, что общий пакет не должен ссылаться на классы из пакета сервера. –