我们最近转到我公司的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());
}
}
}
答案 0 :(得分:0)
目前尚不清楚您是否使用gwt-dispatch库。假设你很久以前我有类似的想法,并创建了一个可以找到here的补丁。不幸的是它的Guice基于而不是Spring,但这些想法可能仍然适用。我必须说,虽然这样做之后我从未使用它,并发现对于我的应用程序,单例范围很好。