有一張郵件表,存儲(chǔ)三個(gè)字段:發(fā)送人,發(fā)送是否成功,發(fā)送內(nèi)容在springmvc中有一個(gè)task,每5秒輪詢一次這個(gè)表,查詢出未發(fā)送成功的數(shù)據(jù),并進(jìn)行再次發(fā)送,發(fā)送成功后再更新表記錄設(shè)置為發(fā)送成功。這里存在一個(gè)問(wèn)題,如果第一次輪詢發(fā)現(xiàn)有未發(fā)送成功的郵件并進(jìn)行發(fā)送,但是在發(fā)送的過(guò)程中開(kāi)始了5秒后的第二次輪詢,由于第一次沒(méi)發(fā)送完所以表記錄還是未發(fā)生成功,這時(shí)候會(huì)造成發(fā)送重復(fù)郵件。請(qǐng)教有什么建議的解決方案嗎?
關(guān)于java異步的問(wèn)題。
ibeautiful
2019-05-23 17:46:52