我正在开发一个使用MULE和Spring的项目。在上下文中,我们创建了提供服务的bean。所有bean本质上都是线程安全的单例。这是一种受欢迎/推荐的写作服务方式吗?
答案 0 :(得分:2)
默认情况下,spring中的bean将是一个单例,这是你描述的非常常见的场景。
答案 1 :(得分:0)
可能会出现性能问题。如果您有许多线程竞争相同的服务。 bean被定义为线程安全的,因此来自不同线程的访问将被有效地序列化。
答案 2 :(得分:0)
在我们的RESTFul服务中,我们在
上设置了入口点 @com.sun.jersey.spi.resource.PerRequest
基础和
@org.springframework.context.annotation.Scope("request")
可以提高吞吐量,但我们会监控以确保GC足够好,不会使应用程序膨胀。
Spring单例本身就是线程安全的,而且这是默认范围 - 当我们在所有网络应用程序中使用它们时,它表现得非常好。