当多个用户使用系统时,依赖注入冲突会发生冲突

时间:2014-11-27 16:55:16

标签: java spring hibernate spring-mvc

我使用Tomcat(Prod)和Jetty(Dev)+ Hibernate + Spring + Spring MVC + Fremarker创建了一个Java应用程序 我有一个问题需要解决,因为用户报告只有一个用户可以登录而不会发生冲突。如果用户登录并尝试创建新的实体付款,则他有一个成功的交易。但是当另一个用户登录时,从那时起,没有人可以创建新的付款。

没有例外,POST被执行,但似乎Controller无法将表单传递给服务类。

@MappedSuperclass
@Getter
@Setter
public abstract class AbstractEntity implements Persistable, Cloneable {

//code...

}

@Entity
@Getter
@Setter
public class Pagamento extends AbstractEntity{

//code...

}

@Component
@Transactional
public class PagamentoService {

//code...

}

@Controller
@RequestMapping("/payments")
public class PagamentosController {

//code...

}

Annotations和CDI的一切都还好吗?可能会发生什么?

2 个答案:

答案 0 :(得分:1)

一个常见的用例是使用控制器(或服务,dao等)类的属性。所有这些bean都是单例bean,并在所有请求和会话之间共享。你应该只在所有那些单例bean中使用局部变量 - 当然除了整个应用程序常见的属性...

答案 1 :(得分:0)

可能是因为您正在使用单连接DataSource,因此一旦请求获得连接,那么在第一个请求释放唯一数据库连接之前,其他任何请求都无法访问它。