提交 e68f2f0a 编写于 作者: J Juergen Hoeller

removed unused HandlerExecutionChain caching

上级 45d9b0cb
/* /*
* Copyright 2002-2009 the original author or authors. * Copyright 2002-2010 the original author or authors.
* *
* Licensed under the Apache License, Version 2.0 (the "License"); * Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License. * you may not use this file except in compliance with the License.
...@@ -171,13 +171,6 @@ public class DispatcherPortlet extends FrameworkPortlet { ...@@ -171,13 +171,6 @@ public class DispatcherPortlet extends FrameworkPortlet {
*/ */
public static final String DEFAULT_VIEW_RENDERER_URL = "/WEB-INF/servlet/view"; public static final String DEFAULT_VIEW_RENDERER_URL = "/WEB-INF/servlet/view";
/**
* Request attribute to hold the currently chosen HandlerExecutionChain.
* Only used for internal optimizations.
*/
public static final String HANDLER_EXECUTION_CHAIN_ATTRIBUTE =
DispatcherPortlet.class.getName() + ".HANDLER";
/** /**
* Unlike the Servlet version of this class, we have to deal with the * Unlike the Servlet version of this class, we have to deal with the
* two-phase nature of the portlet request. To do this, we need to pass * two-phase nature of the portlet request. To do this, we need to pass
...@@ -622,7 +615,7 @@ public class DispatcherPortlet extends FrameworkPortlet { ...@@ -622,7 +615,7 @@ public class DispatcherPortlet extends FrameworkPortlet {
processedRequest = checkMultipart(request); processedRequest = checkMultipart(request);
// Determine handler for the current request. // Determine handler for the current request.
mappedHandler = getHandler(processedRequest, false); mappedHandler = getHandler(processedRequest);
if (mappedHandler == null || mappedHandler.getHandler() == null) { if (mappedHandler == null || mappedHandler.getHandler() == null) {
noHandlerFound(processedRequest, response); noHandlerFound(processedRequest, response);
return; return;
...@@ -701,7 +694,7 @@ public class DispatcherPortlet extends FrameworkPortlet { ...@@ -701,7 +694,7 @@ public class DispatcherPortlet extends FrameworkPortlet {
ModelAndView mv; ModelAndView mv;
try { try {
// Determine handler for the current request. // Determine handler for the current request.
mappedHandler = getHandler(request, false); mappedHandler = getHandler(request);
if (mappedHandler == null || mappedHandler.getHandler() == null) { if (mappedHandler == null || mappedHandler.getHandler() == null) {
noHandlerFound(request, response); noHandlerFound(request, response);
return; return;
...@@ -807,7 +800,7 @@ public class DispatcherPortlet extends FrameworkPortlet { ...@@ -807,7 +800,7 @@ public class DispatcherPortlet extends FrameworkPortlet {
ModelAndView mv; ModelAndView mv;
try { try {
// Determine handler for the current request. // Determine handler for the current request.
mappedHandler = getHandler(request, false); mappedHandler = getHandler(request);
if (mappedHandler == null || mappedHandler.getHandler() == null) { if (mappedHandler == null || mappedHandler.getHandler() == null) {
noHandlerFound(request, response); noHandlerFound(request, response);
return; return;
...@@ -896,7 +889,7 @@ public class DispatcherPortlet extends FrameworkPortlet { ...@@ -896,7 +889,7 @@ public class DispatcherPortlet extends FrameworkPortlet {
try { try {
// Determine handler for the current request. // Determine handler for the current request.
mappedHandler = getHandler(request, false); mappedHandler = getHandler(request);
if (mappedHandler == null || mappedHandler.getHandler() == null) { if (mappedHandler == null || mappedHandler.getHandler() == null) {
noHandlerFound(request, response); noHandlerFound(request, response);
return; return;
...@@ -973,26 +966,14 @@ public class DispatcherPortlet extends FrameworkPortlet { ...@@ -973,26 +966,14 @@ public class DispatcherPortlet extends FrameworkPortlet {
* @param cache whether to cache the HandlerExecutionChain in a request attribute * @param cache whether to cache the HandlerExecutionChain in a request attribute
* @return the HandlerExceutionChain, or null if no handler could be found * @return the HandlerExceutionChain, or null if no handler could be found
*/ */
protected HandlerExecutionChain getHandler(PortletRequest request, boolean cache) throws Exception { protected HandlerExecutionChain getHandler(PortletRequest request) throws Exception {
HandlerExecutionChain handler =
(HandlerExecutionChain) request.getAttribute(HANDLER_EXECUTION_CHAIN_ATTRIBUTE);
if (handler != null) {
if (!cache) {
request.removeAttribute(HANDLER_EXECUTION_CHAIN_ATTRIBUTE);
}
return handler;
}
for (HandlerMapping hm : this.handlerMappings) { for (HandlerMapping hm : this.handlerMappings) {
if (logger.isDebugEnabled()) { if (logger.isDebugEnabled()) {
logger.debug( logger.debug(
"Testing handler map [" + hm + "] in DispatcherPortlet with name '" + getPortletName() + "'"); "Testing handler map [" + hm + "] in DispatcherPortlet with name '" + getPortletName() + "'");
} }
handler = hm.getHandler(request); HandlerExecutionChain handler = hm.getHandler(request);
if (handler != null) { if (handler != null) {
if (cache) {
request.setAttribute(HANDLER_EXECUTION_CHAIN_ATTRIBUTE, handler);
}
return handler; return handler;
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册