提交 515028d0 编写于 作者: wu-sheng's avatar wu-sheng

1.增加发送副本的代码。保证副本至少发送两份。

上级 59f21b88
......@@ -84,7 +84,7 @@ public class DataSenderFactoryWithBalance {
// 获取连接
public static IDataSender getSender() {
DataSender readySender = null;
DataSenderWithCopies readySender = new DataSenderWithCopies(maxKeepConnectingSenderSize);
while (true) {
try {
if (usingDataSender.size() == 0) {
......@@ -98,7 +98,11 @@ public class DataSenderFactoryWithBalance {
int index = ThreadLocalRandom.current().nextInt(0,
usingDataSender.size());
if (usingDataSender.get(index).getStatus() == DataSender.SenderStatus.READY) {
readySender = usingDataSender.get(index);
while(readySender.append(usingDataSender.get(index))){
if(++index == usingDataSender.size()){
index = 0;
}
}
break;
}
......
......@@ -34,7 +34,17 @@ public class DataSenderWithCopies implements IDataSender{
* 尝试向所有副本发送
*/
public boolean send(String data) {
return false;
int successNum = 0;
for(IDataSender sender : senders){
if(sender.send(data)){
successNum++;
}
}
if(successNum >= 2){
return true;
}else{
return false;
}
}
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册