阻止所有java线程消失进IO的最简单方法是什么?

时间:2009-04-22 21:14:12

标签: java multithreading

我有一个只需要运行servlet容器的Web应用程序。我的登录页面和首页没有任何后端事务,但所有其他事务都有。什么是最简单的方式来保证我不会将所有我的线程发送到某个套接字等待后端系统(CXF-webservices)?这是weblogic 10.3,但我真的不关心标准合规性。

我有一个已经拦截所有后端流量的AOP方面,所以我想我可以增加/减少一个AtomicInteger并在剩下的线程太少时抛出一个异常,但是这给出了确定当前线程池大小的问题。

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

你有多少控制权?您可以将weblogic配置为use the 8.1 thread pool model,然后定义不同的线程池 - 一个用于可能长期存在的后端调用,另一个用于处理对首页的请求?

这只是配置而且您不必编写任何代码,这对我来说似乎很好。

答案 1 :(得分:0)

好的,你的用例是什么?如果除登录和首页之外的所有内容都有后端事务,并且线程用尽,那么您希望应用程序做什么?你想要什么可观察的行为?

通常情况下,有一种“请站在......”的消息;如果是这样,创建一个可以设置它的线程,并让它检查进度。如果没有进展,请显示“请等待......”消息。