Commit 7092f8c584777b3512fb811ee08718760c8fc06d
1 parent
7c217d06
Exists in
master
fix a bug
Showing
1 changed file
with
22 additions
and
2 deletions
Show diff stats
src/main/java/com/taover/heartbeat/bean/ServerInstance.java
| @@ -15,6 +15,7 @@ public class ServerInstance implements Instance { | @@ -15,6 +15,7 @@ public class ServerInstance implements Instance { | ||
| 15 | private long latestRequestUnixtime; | 15 | private long latestRequestUnixtime; |
| 16 | private ServerResponse latestServerResponse; | 16 | private ServerResponse latestServerResponse; |
| 17 | private int errorServerResponseCount; | 17 | private int errorServerResponseCount; |
| 18 | + private boolean isIncrErrorServerResponseCount; | ||
| 18 | 19 | ||
| 19 | public ServerInstance(String code, String url, int fixRateSec, int maxWaitSec) throws Exception { | 20 | public ServerInstance(String code, String url, int fixRateSec, int maxWaitSec) throws Exception { |
| 20 | super(); | 21 | super(); |
| @@ -30,6 +31,7 @@ public class ServerInstance implements Instance { | @@ -30,6 +31,7 @@ public class ServerInstance implements Instance { | ||
| 30 | 31 | ||
| 31 | @Override | 32 | @Override |
| 32 | public void flush() { | 33 | public void flush() { |
| 34 | + this.isIncrErrorServerResponseCount = false; | ||
| 33 | //如果小于设置的发送时间间隔,则不发送请求 | 35 | //如果小于设置的发送时间间隔,则不发送请求 |
| 34 | if(!this.isLatestRequestGreateEqualFixRateSec()) { | 36 | if(!this.isLatestRequestGreateEqualFixRateSec()) { |
| 35 | return; | 37 | return; |
| @@ -43,10 +45,11 @@ public class ServerInstance implements Instance { | @@ -43,10 +45,11 @@ public class ServerInstance implements Instance { | ||
| 43 | } catch(SocketTimeoutException timeError) { | 45 | } catch(SocketTimeoutException timeError) { |
| 44 | this.latestServerResponse = ServerResponse.createOverdue(); | 46 | this.latestServerResponse = ServerResponse.createOverdue(); |
| 45 | } catch (Exception e) { | 47 | } catch (Exception e) { |
| 46 | - this.latestServerResponse = ServerResponse.createException(e); | 48 | + this.latestServerResponse = ServerResponse.createException(e); |
| 47 | } | 49 | } |
| 48 | if(this.latestServerResponse.isOverdue() || !this.latestServerResponse.isCodeOk()) { | 50 | if(this.latestServerResponse.isOverdue() || !this.latestServerResponse.isCodeOk()) { |
| 49 | ++this.errorServerResponseCount; | 51 | ++this.errorServerResponseCount; |
| 52 | + this.isIncrErrorServerResponseCount = true; | ||
| 50 | } | 53 | } |
| 51 | } | 54 | } |
| 52 | 55 | ||
| @@ -65,7 +68,7 @@ public class ServerInstance implements Instance { | @@ -65,7 +68,7 @@ public class ServerInstance implements Instance { | ||
| 65 | 68 | ||
| 66 | @Override | 69 | @Override |
| 67 | public boolean needReform() { | 70 | public boolean needReform() { |
| 68 | - return this.isLatestRequestGreateEqualFixRateSec() | 71 | + return this.isIncrErrorServerResponseCount |
| 69 | && this.errorServerResponseCount>=DEFAULT_REFORM_MIN_ERROR_COUNT | 72 | && this.errorServerResponseCount>=DEFAULT_REFORM_MIN_ERROR_COUNT |
| 70 | && this.errorServerResponseCount<=DEFAULT_REFORM_MAX_ERROR_COUNT; | 73 | && this.errorServerResponseCount<=DEFAULT_REFORM_MAX_ERROR_COUNT; |
| 71 | } | 74 | } |
| @@ -125,4 +128,21 @@ public class ServerInstance implements Instance { | @@ -125,4 +128,21 @@ public class ServerInstance implements Instance { | ||
| 125 | public void setLostServerResponseCount(int lostServerResponseCount) { | 128 | public void setLostServerResponseCount(int lostServerResponseCount) { |
| 126 | this.errorServerResponseCount = lostServerResponseCount; | 129 | this.errorServerResponseCount = lostServerResponseCount; |
| 127 | } | 130 | } |
| 131 | + | ||
| 132 | + public int getErrorServerResponseCount() { | ||
| 133 | + return errorServerResponseCount; | ||
| 134 | + } | ||
| 135 | + | ||
| 136 | + public void setErrorServerResponseCount(int errorServerResponseCount) { | ||
| 137 | + this.errorServerResponseCount = errorServerResponseCount; | ||
| 138 | + } | ||
| 139 | + | ||
| 140 | + public boolean isIncrErrorServerResponseCount() { | ||
| 141 | + return isIncrErrorServerResponseCount; | ||
| 142 | + } | ||
| 143 | + | ||
| 144 | + public void setIncrErrorServerResponseCount(boolean isIncrErrorServerResponseCount) { | ||
| 145 | + this.isIncrErrorServerResponseCount = isIncrErrorServerResponseCount; | ||
| 146 | + } | ||
| 147 | + | ||
| 128 | } | 148 | } |