struts2中action执行时间过长阻塞?

问题描述

做了一个场景模拟: struts2中actionA中有个方法:用Thread.sleep(1000*60)模拟一个耗时操作。用户a执行actionA过程中,用户B执行actionB(耗时毫秒),出现了用户B的操作是a执行完毕后才执行的,线程阻塞? 有碰到过类似场景的没?

解决方案

struts2是多实例,多线程的操作,也就是说,A和B是没有关联的。除非二者在操作资源的时候,指向同一个,才会出现队列现象。
解决方案二:
线程阻塞可以使用concurrent包下的阻塞队列或者多线程执行顺序控制的类
解决方案三:
代码有问题吧,我和你同时访问百度的网站,我的响应速度和你的响应速度互不影响,虽然这个例子不太合适。
解决方案四:
是单线程?只有用户A执行完成后才能执行B

时间: 2024-11-10 05:26:13

struts2中action执行时间过长阻塞?的相关文章

Struts2中Action接收参数的方法

Struts2中Action接收参数的方法主要有以下三种: 1.使用Action的属性接收参数:     a.定义:在Action类中定义属性,创建get和set方法:     b.接收:通过属性接收参数,如:userName:     c.发送:使用属性名传递参数,如:user1!add?userName=Magci: 2.使用DomainModel接收参数:     a.定义:定义Model类,在Action中定义Model类的对象(不需要new),创建该对象的get和set方法:    

javaweb-关于struts2中action层的问题

问题描述 关于struts2中action层的问题 今天公司要我把实体entity复制一份,写在一个类中,查出来的数据通过BeanUtils.copyProperties放在复制的那个类中,action不实现modelDriven,而是get/set复制的这个类.前面这些只是今天遇到的,大概说一下. 主要想问的是,公司那边不让写这一句: 那我查到的东西,怎么在jsp页面写呢?我唯一能想到的是在action中写一个List属性,get/set.不过我觉得这样好麻烦,他为什么不让使用这一句呢?我搞不

struts2中action中的方法无故被提交两次

问题描述 struts2中action中的方法无故被提交两次 import java.io.UnsupportedEncodingException; import javax.servlet.http.HttpServletRequest; import org.apache.struts2.ServletActionContext; import com.hsp.book.domain.Book;import com.hsp.book.service.BookService;import c

struts2中Action到底是什么,怎么理解

问题描述 struts2中Action到底是什么,怎么理解 1.配置完web.xml 2.创建视图页面login.jsp 3.创建业务控制器LoginAction类 (解释说:创建业务控制器LoginAction类,该类为程序的Action类) 4.配置LoginAction类 (解释说:当Action处理完客户端请求后返回一个字符串,没个字符串对应一个视图) 那么这个Action到底是什么,是一个类吗?怎么理解它,它和用于标签的有什么区别. 解决方案 首先,你了解Servlet么?Servle

struts2.0-ssh struts2中 action执行两次

问题描述 ssh struts2中 action执行两次 1 排除重复提交的可能 2 点击页面中的超链接,action 执行两次:但在地址栏中输出地址,action只执行了一次(这个让我很震惊!) 3 执行的action 方法名为add(), 不存在get默认执行的情况 解决方案 struts2 action执行两次的原因struts2 中action执行两次的问题struts2 json插件执行原理 action执行两次 解决方案二: 这个肯定是你代码出错了,你应该把使用的界面代码贴出来 解决

input视图-Struts2中action出现错误返回input的机制

问题描述 Struts2中action出现错误返回input的机制 2C 当action出现错误后,如何返回的input?通过哪个类返回的?希望大神们说的尽量详细点,先谢过了! 解决方案 链接:http://pan.baidu.com/s/1nuUL6OD 密码:igtz 解决方案二: return ""input"";或者return Action.Input;就OK了呀然后返回的就是input 如果你说的是显示错误信息的话调用addFieldError()方法时

Struts2中Action中是否需要实现Execute方法_java

今天有朋友问我Struts2中Action必须实现execute方法吗?顺利的回答出来了. 其实分两种情况: 1)如果你的Action类是继承自ActionSupport或是BaseAction的话,确切的说是重写了execute方法,ActionSupport里的默认实现就是返回"success"视图.因此,你可以不实现execute方法,只要你的struts.xml里有"success"对应的result即可. <action name="doR

struts2中action和field级别错误处理

在struts2中,一般的action都继承ActionSupport这个类,可以重写public void validate()来进行数据校验,对应提示信息来说一般有两个比较常用的方法就是this.addFieldError("field name","error message"); 和 this.addActionError("error message");两个方法. 由于在ActionSupport这个类实现了ValidationAwa

Struts2中action获取request、response、session的方式

之前用惯struts1.x,那些request啊session之类都是方法自带有的,我们直接调用就可以:而平时公司项目中用到有struts2.x的话,action所继承的BaseAction等底层那些都是人家封装好的,直接继承就可以.现在自己搞个,才知道struts2的request.response.session原来都被隐藏的了,不过struts2提供有两种方式给我们访问.     第一种方式,非IoC(Spring中的控制反转)方式:    /** * File Name:BaseActi