<%!
private JspLocker jspLocker = LockerFactory.getJspLocker();//CronsLocker 为单例模式
private void run(HttpServletRequest request,HttpServletResponse response ,ServletContext application){
System.out.println("准备运行..");
.............
..............//运行逻辑
System.out.println("运行完毕");
}
%>
<%
synchronized(jspLocker){
try{
run(request,response,application);
}catch(Exception e){
e.printStackTrace();
}
}
%>
以下为 JspLocaler
public class JspLocker {
private static JspLocker jspLocker = new JspLocker(); private JspLocker() { }
static JspLocker getInstance(){
return jspLocker;
}
}
public class LockerFactory {
public static JspLocker getJspLocker(){
return JspLocker.getInstance();
}
}
在以上的 JSP 在高并发的情况下仍旧有的时候会出现这样的输出:
准备运行..
准备运行..
运行完毕
运行完毕
运行环境 linux , Apache+Tomcat
请各位前辈提示.谢了
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货