2011-11-28 77 views
1

我們最近在我的公司切換到GWT,我有一個問題。如何配置ActionHandler服務器處理程序作用域?ActionHandler服務器處理程序範圍

在我們當前的設計中,我們使用configureHandlers方法,它創建單例處理程序。我們認爲這是一個糟糕的設計,並且會按照請求處理程序。可能嗎 ?

這裏我們ServerModule創建的處理程序:

@Configuration 
@Import(DefaultModule.class) 
public class ServerModule extends HandlerModule 
{ 
    private Map<Class, Object> _handlersMap; 

    @Resource(name = "handlersConfigurationMap") 
    // Working around a Spring bug https://jira.springsource.org/browse/SPR-7916 
    public void setHandlersMap(final Map<Class, Object> handlersMap) 
    { 
     _handlersMap = handlersMap; 
    } 

    @Override 
    protected void configureHandlers() 
    { 
     for (Class handlerClassName : _handlersMap.keySet()) 
     { 
      //noinspection RedundantCast,unchecked 
      bindHandler((Class<? extends Action>)handlerClassName, (Class)_handlersMap.get(handlerClassName).getClass()); 
     } 
    } 
} 

回答

0

,如果您使用的gwt-dispatch庫與否尚不清楚。假設你在一段時間以前,我有類似的想法,並創建了一個補丁,可以找到here。不幸的是它的Guice基於而不是Spring,但是這些想法可能仍然適用。我必須說,雖然這樣做後,我從來沒有使用它,發現對於我的應用程序單身範圍很好。

+0

我們使用gwt-dispatch。我對gwt很新,所以我不知道它存在其他方式。 –