浏览器按取消,然后Weblogic线程处理的问题

subzero 2015-11-05 06:15:05
加精
浏览器访问部署在weblogic上的应用,应用访问oracle。
如果应用访问oracle的时间过长而没有返回结果,weblogic线程就会粘滞住。
下面是2个问题:
1,假如在超时粘滞之前,浏览器按了取消按钮,这个时候会发生什么?weblogic也会去取消访问oracle的这个线程吗?
2,假如线程已经粘滞了,浏览器按了取消按钮,又会发生什么?这个粘滞线程会取被weblogic消掉吗?
...全文
1381 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
风格化几个 2015-11-20
  • 打赏
  • 举报
回复
学习了
piaoyu1010 2015-11-19
  • 打赏
  • 举报
回复
学习学习,不错的东西
qq_32787611 2015-11-13
  • 打赏
  • 举报
回复
支持楼主!感谢分享!顶!
tianyin321321 2015-11-09
  • 打赏
  • 举报
回复
正想了解 学习了
subzero 2015-11-09
  • 打赏
  • 举报
回复
看了一些资料,weblogic对于stuck了的线程没有处理办法,只能等超时。JDI倒是可以根据线程号去控制kill掉已经stuck了的线程。所以第二个问题的答案已经有了。 那么第一个问题呢?
加油馒头 2015-11-09
  • 打赏
  • 举报
回复
方法两个: 1、异步 2、超时
dgaewtwe 2015-11-07
  • 打赏
  • 举报
回复
路过~~~~·
subzero 2015-11-06
  • 打赏
  • 举报
回复
引用 2 楼 yanical 的回复:
这个和HTTP是不是无状态的没有关系。 一个请求的处理过程来说,就是接受HTTP内容,处理内容(连接Oracle,处理),返回HTTP。 如果是接收HTTP内容的过程中取消了,socket应该会关闭,服务器会在调用socket的地方出现异常,后面就不会继续处理。如果HTTP已经发送完毕,开始处理了,即便你取消了请求,服务器的socket会知道,但是线程并不会时刻去检查socket的问题,所以请求还是会继续处理。 从客户端来说,你不知道什么时候内容服务器已经接受完毕,所以任何打断都可能造成意想不到的结果,需要服务器代码做处理。
不对! 我能肯定,不管weblogic线程有没有粘滞,在处理过程返回结果前,浏览器都是没有得到响应的,也就是说浏览器此时是卡在等待响应的阶段。HTTP协议是持久性连接,除非浏览器超时,否则肯定是一直等待响应,因为通常weblogic端的连接超时都会设置到一个比较大的数值。 所以,问题的关键在于,weblogic对于客户端socket主动关闭的处理机制,在线程粘滞与否的情况下都是如何处理的,是否能够主动去控制与socket关联的处理线程。
空心兜兜 2015-11-06
  • 打赏
  • 举报
回复
取消有方法么
yanical 2015-11-06
  • 打赏
  • 举报
回复
这个和HTTP是不是无状态的没有关系。 一个请求的处理过程来说,就是接受HTTP内容,处理内容(连接Oracle,处理),返回HTTP。 如果是接收HTTP内容的过程中取消了,socket应该会关闭,服务器会在调用socket的地方出现异常,后面就不会继续处理。如果HTTP已经发送完毕,开始处理了,即便你取消了请求,服务器的socket会知道,但是线程并不会时刻去检查socket的问题,所以请求还是会继续处理。 从客户端来说,你不知道什么时候内容服务器已经接受完毕,所以任何打断都可能造成意想不到的结果,需要服务器代码做处理。
V非凡 2015-11-06
  • 打赏
  • 举报
回复
学习了
Defonds 2015-11-06
  • 打赏
  • 举报
回复
http 是无状态的。 也就是说,提交以后,http 服务器甚至不知道你是否还在线。 就算你做了取消操作请求,并且服务端使用线程打断的方式来取消上一次操作,但这样是资源不安全的,不建议。
  • 打赏
  • 举报
回复
我在想能否通过时间机制来控制这个线程是否停止还是销毁,或是重新请求
cattpon 2015-11-06
  • 打赏
  • 举报
回复
learning~

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧