使用Spring的死锁。豆在哪里?

时间:2014-02-28 18:51:56

标签: java mysql spring transactions

在继承的设置(以前编写的代码)中,我有:

  • MySQL 5.0
  • Spring 3.1.2
  • Java 1.6

我得到以下内容:

错误代码:1213尝试锁定时发现死锁;尝试重新启动交易

...每当我运行一个简单的SELECT从一行(有时是2行)中获取一个字段时。我甚至可以在MySqlAdmin中运行select时重现这一点。

SQL操作在正在创建的Java类中完成,具有调用select的方法,然后该对象超出范围。该类是 NamedParameterJdbcDaoSupport

事实证明,同一个类的不同实例正在同一个表上执行更新。

为了找到有关事务管理的更多信息,希望能够阻止这种僵局,在查看Spring文档之后,我在XML中寻找了一个事务管理,却一无所获。

此外,一些“DAO”类有一个与之关联的bean:

<bean id="fooDao" class="com.messmo.library.dao.FooDaoJdbc">
    <property name="dataSource" ref="dataSource" />
</bean>

...但上述课程没有豆。

Spring有一些关于事务管理的文档,我已经阅读了,但我不确定默认的事务处理是什么,以及它是否与此问题有关。

0 个答案:

没有答案