|
|
需求如下:
我们有两台appserver使用的jboss做的均衡,俩个jboss都有一个后台thread在发email,如果不做同步就会有重发的情况,即一封邮件jboss1发了,同时jboss2也发了,
由于是2台机器2个java vm所以不能使用java的synchronize关键字,
解决方案就是:
1、select from tab for update;
2、update 状态位;
3、判断更新行数;
if 行数 then
发邮件
else 更新0行。 --更新0行说明另一个thread已经更新了,并发送了email。
不发邮件。
thanks
不知大家有没有更好的解决方案 |
|