0 0

struts的action中如何才能不立即返回,而是等收到异步调用响应后,再返回给客户端?5

在struts的action中,通过ActiveMQ异步调用了后端的相关服务。
因为是异步调用,需要等后端返回响应后,再让action返回给客户端。

但一般的框架中,action的excute函数都是直接return,让struts返回结果给客户端的。

怎么样才能让action不立即返回?

谢谢
2014年7月31日 11:54

8个答案 按时间排序 按投票排序

0 0

可以在execute里写个死循环,中间开一个线程,线程执行结束了,跳出循环,这样就可以了。

不过从你的描述里分析出,你的要求也不是异步的,因为你的action返回,是要拿到结果才return,所以肯定会出页面无响应的结果,对用户来说,还是阻塞的。

如果是要对用户来说不阻塞,那只能客户端先发一个请求,服务接收并响应任务已接受,
客户端然后周期查询处理结果,

不过这样就会造成原来一阻塞的处理请求,变成周期性的多个查询结果请求

不知道有没有回答你的提问,欢迎追问。

2014年8月13日 08:22
0 0

把返回客户端的结果做成一个线程 让他处于线程等待阶段(wait阶段)
只有当AvativeMQ中的异步返回有结果了在通知(notify)这个返回客户端的结果 返回给客户端
可以用内部类的方法实现

2014年8月03日 13:50
0 0

struts可以先完成,
但是客户端不要做具体的相应,处于等待状态,
然后客户端ajax轮询任务完成状态,一直到操作完成了,
客户端再通过界面变化和用户响应

2014年8月01日 15:48
0 0

ActiveMQ 在他的返回中 加一个状态值 然后再你的action中excute 加上一个线程 然后让其同步 根据他返回的状态  让excute 方法继续往下执行

2014年7月31日 18:40
0 0

你调用mq改成同步的不行吗

2014年7月31日 16:13
0 0

ajax 不就是异步的么。

2014年7月31日 16:01
0 0

这样你用异步的意义不大吧

看场景 你们用异步本来就是想让你的Struts这里尽快的释放资源(线程) 然后去做其他东西

你这样占用线程貌似完全可以去使用同步嘛


可以在发送jms消息后wait然后等待响应, 响应拿到后再往下执行return。

2014年7月31日 15:49
0 0

不是特别明白你的需求
后端会返回一个结果是把,那就判断如果后端返回结果为空,
Thread.sleep(5000);
用while判断,不知道能解决问题不

2014年7月31日 13:26

相关推荐

    Struts2+Spring+Hibernate+Ehcache+AJAX+JQuery+Oracle 框架集成用户登录注册Demo工程

    2.Action里通过struts2-spring-plugin.jar插件自动根据名字注入。 3.Ajax无刷新异步调用Struts2,返回Json数据,以用户注册为例。 4.在服务端分页查询功能,优点:实时性:跳页才查询。数据量小:只加载当前页的记录...

    maven3+struts2+spring+ibatis

    不会新建action对象,每次调用的时候会使用原来的action,所以该类的所有字段会保留,这样异步访问的时候会出问题,所以需要将scope参数设置为prototype(多例),即在相应的action上添加属性:scope="prototype",...

    maven3.0+struts+spring+hibernate

    不会新建action对象,每次调用的时候会使用原来的action,所以该类的所有字段会保留,这样异步访问的时候会出问题,所以需要将scope参数设置为prototype(多例),即在相应的action上添加属性:scope="prototype",...

    java面试题

    76.4. 在weblogic管理制台中对一个应用域(或者说是一个网站,Domain)进行jms及ejb或连接池等相关信息进行配置后,实际保存在什么文件中? 86 76.5. 在weblogic中发布ejb需涉及到哪些配置文件 87 76.6. 如何在weblogic中...

    超级有影响力霸气的Java面试题大全文档

    当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。 20、abstract class和interface有什么区别? ...

    java 面试题 总结

    当应用程序在对象上调用了一个需要花费很长时间来执行的方法,并且不希望让程序等待方法的返回时,就应该使用异步编程,在很多情况下采用异步途径往往更有效率。 17、abstract class和interface有什么区别? 声明方法...

    Java面试宝典2010版

    5、谈谈Struts中的Action servlet。 6、Struts优缺点 优点: 1. 实现MVC模式,结构清晰,使开发者只关注业务逻辑的实现. 7、STRUTS的应用(如STRUTS架构) 8、说说struts1与struts2的区别。 9、hibernate中的update...

    最新Java面试宝典pdf版

    5、谈谈Struts中的Action servlet。 120 6、Struts优缺点 优点: 1. 实现MVC模式,结构清晰,使开发者只关注业务逻辑的实现. 120 7、STRUTS的应用(如STRUTS架构) 121 8、说说struts1与struts2的区别。 121 9、...

    Java面试笔试资料大全

    5、谈谈Struts中的Action servlet。 120 6、Struts优缺点 优点: 1. 实现MVC模式,结构清晰,使开发者只关注业务逻辑的实现. 120 7、STRUTS的应用(如STRUTS架构) 121 8、说说struts1与struts2的区别。 121 9、...

    Java面试宝典-经典

    5、谈谈Struts中的Action servlet。 120 6、Struts优缺点 优点: 1. 实现MVC模式,结构清晰,使开发者只关注业务逻辑的实现. 120 7、STRUTS的应用(如STRUTS架构) 121 8、说说struts1与struts2的区别。 121 9、...

    java面试题大全(2012版)

    5、谈谈Struts中的Action servlet。 120 6、Struts优缺点 优点: 1. 实现MVC模式,结构清晰,使开发者只关注业务逻辑的实现. 120 7、STRUTS的应用(如STRUTS架构) 121 8、说说struts1与struts2的区别。 121 9、...

    JAVA面试宝典2010

    5、谈谈Struts中的Action servlet。 120 6、Struts优缺点 优点: 1. 实现MVC模式,结构清晰,使开发者只关注业务逻辑的实现. 120 7、STRUTS的应用(如STRUTS架构) 121 8、说说struts1与struts2的区别。 121 9、...

    Java面试宝典2012版

    5、谈谈Struts中的Action servlet。 120 6、Struts优缺点 优点: 1. 实现MVC模式,结构清晰,使开发者只关注业务逻辑的实现. 120 7、STRUTS的应用(如STRUTS架构) 121 8、说说struts1与struts2的区别。 121 9、...

    java面试宝典2012

    5、谈谈Struts中的Action servlet。 131 6、Struts优缺点 优点: 1. 实现MVC模式,结构清晰,使开发者只关注业务逻辑的实现. 131 7、STRUTS的应用(如STRUTS架构) 132 8、说说struts1与struts2的区别。 132 9、...

    Java面试宝典2012新版

    5、谈谈Struts中的Action servlet。 120 6、Struts优缺点 优点: 1. 实现MVC模式,结构清晰,使开发者只关注业务逻辑的实现. 120 7、STRUTS的应用(如STRUTS架构) 121 8、说说struts1与struts2的区别。 121 9、...

    从Java走向Java+EE+.rar

    8.2 实例——在JSP中调用JavaBean 99 8.3 小结 106 第9章 开源Web开发框架Struts 107 9.1 Struts框架基础 107 9.1.1 Struts框架的出现及其优点 107 9.1.2 Struts的MVC框架 108 9.2 Struts的配置 110 ...

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

     国内知名的高端IT技术作家,已出版《Spring 2.0宝典》、《基于J2EE的Ajax宝典》、《轻量级J2EE企业应用实战》、《Struts 2权威指南》、《Ruby On Rails敏捷开发最佳实践》等著作。 目录: 第0章 学习Java...

Global site tag (gtag.js) - Google Analytics