Lock wait timeout exceeded; try restarting transaction
粗心大意,老犯錯!
今天上午在調試EJB3調用WebService時一直遇到MySQL報出的這個問題。郁悶壞了,只是執行了一句update而已,就導致這樣錯誤… …
經過半個小時排查,終于找到問題所在了。原因是分布式事務引起的。
場景描述:
EJB3操作A表-->調用WebService-->WebService操作B表
在操作A表的時候需要等待WebService的調用,如果沒有異常,則可以提交事務,如果出現異常,則不能提交事務;
在操作B表的時候需要處理異常;
一個簡單的分布式事務,一般情況下是沒有問題的~但是由于我的粗心大意,做成了EJB3也在操作B表,這樣就導致了表被鎖死的情況出現~真是郁悶啊!
客戶虐我千百遍,我待客戶如初戀!
posted on 2009-04-23 21:41 阿南 閱讀(4291) 評論(0) 編輯 收藏 所屬分類: 工作心得 、EJB3