【发布时间】:2012-07-13 18:03:11
【问题描述】:
(1) 好吧,我对 JAX-WS Java Web 服务的线程模型感到很困惑。我读到它们不是线程安全的。那么他们应该如何服务多个并行请求呢?鉴于它总是已知的(大多数情况下),它们将同时被多个客户端调用。
(2) 应用服务器是否为每个请求创建一个新的 Web 服务实例(就像它维护一个无状态会话 bean 池,为请求分配一个,一旦请求完成,它就会返回到池中)。您可以在应用服务器控制台(GlassFish 或 JBoss 或 WebSphere)中配置该池大小吗?
(3) 我还在这里发现了 @Threadsope 注释,它为每个请求创建新线程..
http://jax-ws-commons.java.net/thread-scope/
这是一个不错的选择吗?我确信人们正在以其他标准方式解决线程安全和并行请求问题 - 请告知。
【问题讨论】:
-
这是我试图寻找答案的问题。我得到了一些信息(不太清楚)。我学到的是,服务器为 web 服务(如 servlet)创建单个实例,因此它们(服务)不是线程安全的。因此,虽然编码本身不会将任何线程特定数据保留为实例变量/静态变量。
-
@thinksteep 我有一个回复你..看看这个..希望它回答你的一些问题..stackoverflow.com/questions/11478756/…
标签: java multithreading web-services thread-safety jax-ws