使用Java进行REST WebService和并发处理

3

我打算编写一个简单的REST webservice,用于从服务器下载文件(一个简单的GET方法)。问题是:在这种情况下,我是否需要处理并发,还是Web服务器会自动处理?

3个回答

2

嗯,问题有点模糊,但是:

  • 这取决于你如何实现REST服务,是否使用JAX-RS?
  • 这取决于你运行它的服务器。
  • 你所说的“处理并发”是什么意思?由于REST是无状态的,因此并发不应该是你关心的问题。

我正在使用Jersey和Tomcat。 - Super Hornet
1
无状态性是程序员的职责,而不是技术的保证 ;) 这才是真正的答案:坚持标准(REST)的无状态设计理念,遵循API文档(JAX-RS),就不用担心了。 - Gimby
如果它不是无状态的,那么它就不是REST webservice。因此,假设我们正在构建一个REST webservice,我们可以推断出它是无状态的。 - nablex

2

这取决于你所说的“处理并发”的意思。你需要编写代码在每个传入请求上生成线程吗?不需要,Jersey会在调用API方法之前为每个请求创建一个新的线程。你需要担心当某人正在GET文件时,是否会有DELETE请求进来吗?是的。


1
如果您只使用方法本地变量,那么并发不是问题(容器会处理)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接