ActionHandler服务器处理程序范围

时间:2011-11-28 13:30:14

标签: gwt scope

我们最近转到我公司的GWT,我有一个问题。如何配置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());
        }
    }
}

1 个答案:

答案 0 :(得分:0)

目前尚不清楚您是否使用gwt-dispatch库。假设你很久以前我有类似的想法,并创建了一个可以找到here的补丁。不幸的是它的Guice基于而不是Spring,但这些想法可能仍然适用。我必须说,虽然这样做之后我从未使用它,并发现对于我的应用程序,单例范围很好。