当前位置:编程学习 > JAVA >>

请问如何解决spring+jdbc的死锁问题

我是在spring配置文件里配了一个jdbcTemplate
<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate">  
        <constructor-arg>  
            <ref bean="datasource" />  
        </constructor-arg>  
    </bean>  

事务类型是PROPAGATION_REQUIRED

我这样有时会死锁,可能两个并发事务访问的资源有冲突,相互等待。现在每个事务里调用了很多对表的操作,不知有什么办法处理。 --------------------编程问答-------------------- 请有经验的朋友谈一下如何处理 --------------------编程问答-------------------- 一上来就把架子摆地老高,死锁并发都来了,却没有什么货在里面,你只是贴点这个东西谁看得懂?你现在就是认为是spring或者jdbc有问题?就没想一下你的程序写得有问题吗,看看你的每一次数据库写操作是不是都提交了 --------------------编程问答-------------------- 这方面的还没遇到过。帮顶吧。 --------------------编程问答-------------------- 架子不高,谢谢帮顶。是自动提交的,这是service的配置
<bean id="LoginService"
class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
<property name="transactionManager">
<ref bean="myTransactionManager" />
</property>
<property name="target">
<ref bean="Login" />
</property>
<property name="transactionAttributes">
<props>
<prop key="tax*">PROPAGATION_REQUIRED,-Exception</prop>
</props>
</property>
</bean>
<bean id="Login"
class="move.pub.login.struts.service.LoginService">
<property name="userinfoDAO">
<ref bean="userinfoDAO" />
</property>
</bean>
--------------------编程问答-------------------- 是只要有并发事务就存在死锁的情况吗?理论上应该是这样,两个事务并发时完全可能出现相互等待对方资源的情况,而又不释放自己锁住的资源。

可事实上许多复杂的企业系统都解决了死锁问题,不知他们是如何处理的? --------------------编程问答-------------------- 请有经验的朋友谈一下如何处理
补充:Java ,  Java SE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,