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 | 15 | private long latestRequestUnixtime; |
16 | 16 | private ServerResponse latestServerResponse; |
17 | 17 | private int errorServerResponseCount; |
18 | + private boolean isIncrErrorServerResponseCount; | |
18 | 19 | |
19 | 20 | public ServerInstance(String code, String url, int fixRateSec, int maxWaitSec) throws Exception { |
20 | 21 | super(); |
... | ... | @@ -30,6 +31,7 @@ public class ServerInstance implements Instance { |
30 | 31 | |
31 | 32 | @Override |
32 | 33 | public void flush() { |
34 | + this.isIncrErrorServerResponseCount = false; | |
33 | 35 | //如果小于设置的发送时间间隔,则不发送请求 |
34 | 36 | if(!this.isLatestRequestGreateEqualFixRateSec()) { |
35 | 37 | return; |
... | ... | @@ -43,10 +45,11 @@ public class ServerInstance implements Instance { |
43 | 45 | } catch(SocketTimeoutException timeError) { |
44 | 46 | this.latestServerResponse = ServerResponse.createOverdue(); |
45 | 47 | } catch (Exception e) { |
46 | - this.latestServerResponse = ServerResponse.createException(e); | |
48 | + this.latestServerResponse = ServerResponse.createException(e); | |
47 | 49 | } |
48 | 50 | if(this.latestServerResponse.isOverdue() || !this.latestServerResponse.isCodeOk()) { |
49 | 51 | ++this.errorServerResponseCount; |
52 | + this.isIncrErrorServerResponseCount = true; | |
50 | 53 | } |
51 | 54 | } |
52 | 55 | |
... | ... | @@ -65,7 +68,7 @@ public class ServerInstance implements Instance { |
65 | 68 | |
66 | 69 | @Override |
67 | 70 | public boolean needReform() { |
68 | - return this.isLatestRequestGreateEqualFixRateSec() | |
71 | + return this.isIncrErrorServerResponseCount | |
69 | 72 | && this.errorServerResponseCount>=DEFAULT_REFORM_MIN_ERROR_COUNT |
70 | 73 | && this.errorServerResponseCount<=DEFAULT_REFORM_MAX_ERROR_COUNT; |
71 | 74 | } |
... | ... | @@ -125,4 +128,21 @@ public class ServerInstance implements Instance { |
125 | 128 | public void setLostServerResponseCount(int lostServerResponseCount) { |
126 | 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 | } | ... | ... |