【问题标题】:Annotation for synchronize a method in springSpring中同步方法的注释
【发布时间】:2016-06-04 09:49:25
【问题描述】:

我的休息控制器中有一个简单的休息 api,如下所示,

@RequestMapping(value = "/myservice", method = RequestMethod.GET)
@PreAuthorize("hasRole('ROLE_USER')")   
public HttpEntity<String> myService() {
//do something
}

Rest Controller 默认是单例的,方法不是线程安全的(非同步)。是否在方法级别定义了线程安全(同步)的注释?

【问题讨论】:

  • 您可以使用synchronized 方法,但您为什么要这样做?这将导致性能极差。
  • 也许这会有所帮助,stackoverflow.com/questions/15396608/…
  • @Joni 谢谢。我完全忘记了。

标签: java spring synchronized


【解决方案1】:

你可以只使用 synchronized 关键字吗?

@RequestMapping(value = "/myservice", method = RequestMethod.GET)
@PreAuthorize("hasRole('ROLE_USER')")   
public synchronized HttpEntity<String> myService() {
//do something
}

【讨论】:

  • @John Harris 不同步仅适用于对象由不同线程共享的情况?我以为 Spring 会为每个线程创建一个控制器实例?
猜你喜欢
  • 2014-04-18
  • 2018-07-09
  • 2018-01-10
  • 2020-07-03
  • 1970-01-01
  • 2015-06-08
  • 2010-10-23
  • 2014-06-09
相关资源
最近更新 更多