我应该在控制器中同步自动装配的DAO spring bean吗?

时间:2017-06-10 09:58:14

标签: spring multithreading spring-mvc

我有一个spring mvc app。这是一个简单的短信应用程序。我收到短信然后我应该返回短信。我有简单的DAO类,我对一个表的所有查询都在哪里。 SMS-es是顺序接收的,但一个答案可能超过另一个所需处理时间的依赖。我在我的控制器中自动连接我的DAO。问题是我是否应该将调用同步到我的DAO,这是我的控制器类中的字段,以及从所有请求中可见的。如果请求是连续的并且不重叠,我认为它不是必需的,但是如果一个请求处理时间花费的时间超过了几个sms-es,那么在它需要的时间越长,我认为。我是对的吗?

编辑:

这是我的DAO中的简单方法,它不同步:

public boolean isDatetimesAlreadyRegisteredForMSISDN(String msisdn, LocalDate date, LocalTime time){
        Query query = entityManager.createQuery("select p from Participants p where p.msisdn = :msisdn and p.date = :date and p.time = :time");
        query.setParameter("msisdn", msisdn);
        query.setParameter("date", date);
        query.setParameter("time", time);
        return !query.getResultList().isEmpty();
    }

entityManager是一个hibernate持久化上下文的字段,我认为它是线程安全的。

0 个答案:

没有答案