我试图找出使用jersey和spring的java REST web服务的最佳“范围”。
我有一个如此定义的类:
@Path("/mypath")
@Component
@Scope("request") // Or should this be @Scope("singleton")
public final class MyResource {
}
我想知道的是,这应该被定义为请求或单一范围。我认为它应该是单身范围,因为它是无国籍的。我的想法是,这将是更好的性能,因为它只创建一次,不是一个大的性能增益,而是一个小的。
然而,有人表示担心可能会出现性能损失/单击,因为它必须处理来自每个线程的请求,但我的想法是因为没有锁定/同步,所以每个线程都能够调用方法而不被阻塞,所以没有瓶颈。
我想我的问题是双管齐下的:
singleton范围是无状态Web服务的最佳范围
使用单身时是否会导致性能下降,因为必须这样做 一次处理多个线程?
感谢。