我搜索了多种方式和解决方案,使春天hibrenate到一个安全的线程。我是春天和h little的小初学者,我无法做出这个决定。使Spring Hibernate线程安全。 Best solation
我发现这些选项:
使用hibrenate locking为“破坏”,使冲突与其它事务的任何事务,并从错误的数据保存到数据库中。这有缺点,因为会成为只是没有执行的交易,它会更复杂的工作来完成Thouses请求
只需在一个线程中运行所有事务(至少所有更新),此线程将是“ExecuterThred”,他使共享所有这些交易将按顺序执行。这样就没有机会了transactoin冲突,但这种方法要依据一个线程你DATABSE春天的服务器,它可以通过useig regular java thread,也许大在实现一个 like this,或使用thread local
让道同步(或免得所有的更新方法),也没有机会进行交易冲突,但可以拖动服务器。
更多一点,在我的服务器,任何客户端都有用户,并且任何用户都有唯一的ID。我认为关于更多一个选项:使任何客户端能够在同一时间只发送一个请求(使数据库不同)的共享。 (我现在可以,因为我可以使用唯一的ID),如果客户端这样做anywey我会回应与并发错误,他可以尝试再次信。 这将是选项4。
如果你有更多的选项plaese让我知道。
非常感谢,任何帮助或解释将是最欢迎
不知道为什么你需要担心这一点。您应该在服务器上使用某种连接池来开始。这已经有多个线程池。 – OldProgrammer
感谢您的回复。我需要一些工作。我使用mysql和一些时间,我想做一些大的长查询和更多的查询和'冲突'发生,通常与一些sql exeption。一些动作我acuatlly也许会出现两个不同势交易 –
请出示一些相关的代码和错误。 – OldProgrammer