Browse Source

jfinal 3.5

James 7 years ago
parent
commit
befefbaeda

+ 1 - 1
src/main/java/com/jfinal/core/ActionHandler.java

@@ -140,7 +140,7 @@ public class ActionHandler extends Handler {
 			}
 			renderManager.getRenderFactory().getErrorRender(500).setContext(request, response, action.getViewPath()).render();
 		} finally {
-			if (controllerFactory.recycleController() && controller != null) {
+			if (controller != null) {
 				controller._clear_();
 			}
 		}

+ 4 - 4
src/main/java/com/jfinal/core/CPI.java

@@ -23,12 +23,12 @@ import javax.servlet.http.HttpServletResponse;
  * Cross Package Invoking pattern for package core.
  * 
  * <pre>
- * 有利于在自定义扩展的 ActionHandler 中调用 Controller.init(...)
- * 与 Controller.clear() 以及其它一切需要调用上面两个方法的场景
+ * 有利于在自定义扩展的 ActionHandler 中调用 Controller._init_(...)
+ * 与 Controller._clear_() 以及其它一切需要调用上面两个方法的场景
  * 
  * 示例:
- * CPI.init(controller, request, response, urlPara);
- * CPI.clear(controller);
+ * CPI._init_(controller, request, response, urlPara);
+ * CPI._clear_(controller);
  * </pre>
  */
 public class CPI {

+ 0 - 21
src/main/java/com/jfinal/core/ControllerFactory.java

@@ -24,27 +24,6 @@ public class ControllerFactory {
 	public Controller getController(Class<? extends Controller> controllerClass) throws InstantiationException, IllegalAccessException {
 		return controllerClass.newInstance();
 	}
-	
-	/**
-	 * 判断是否回收 Controller 对象,如果回收的话就需要 return true,
-	 * 那么 ActionHandler 就会调用 controller._clear_() 用于
-	 * 清除属性,可以回收使用 Controller 对象
-	 * 
-	 * 如果用户自已的 controller 或者 BaseController 中声明了属性,
-	 * 并且希望回收使用 controller 对象,那么就必须覆盖 controller
-	 * 的 _clear_() 方法,大致方法如下:
-	 * 
-	 * protected void _clear_() {
-	 *    super._clear_();	// 清除父类属性中的值
-	 *    xxx = null;		// 清除自身属性中的值
-	 * }
-	 * 
-	 * 回收使用 Controller 除了要注意上述说明中的 _clear_() 用法以外,
-	 * 其实现方式见 FastControllerFactory
-	 */
-	public boolean recycleController() {
-		return false;
-	}
 }
 
 

+ 0 - 11
src/main/java/com/jfinal/core/FastControllerFactory.java

@@ -53,17 +53,6 @@ public class FastControllerFactory extends ControllerFactory {
 		}
 		return ret;
 	}
-	
-	/**
-	 * 返回 true,告知 ActionHandler 该 ControllerFactory 实现类
-	 * 需要回收使用 Controller 对象,则 ActionHandler 会在
-	 * finally 块中调用 Controller._clear_() 方法,确保下一个
-	 * 线程在使用被回收的 controller 时,其中的状态已被清除
-	 */
-	@Override
-	public boolean recycleController() {
-		return true;
-	}
 }
 
 

+ 1 - 1
src/main/java/com/jfinal/template/expr/ast/SharedMethodKit.java

@@ -45,7 +45,7 @@ public class SharedMethodKit {
 	}
 	
 	private final List<SharedMethodInfo> sharedMethodList = new ArrayList<SharedMethodInfo>();
-	private final HashMap<Long, SharedMethodInfo> methodCache = new SyncWriteMap<Long, SharedMethodInfo>(512, 0.5F);
+	private final HashMap<Long, SharedMethodInfo> methodCache = new SyncWriteMap<Long, SharedMethodInfo>(512, 0.25F);
 	
 	public SharedMethodInfo getSharedMethodInfo(String methodName, Object[] argValues) {
 		Class<?>[] argTypes = MethodKit.getArgTypes(argValues);