在自动重连选项下,解决CommsCallback线程在连接上MQTT服务器,当服务器断开后,重连的线程一直会在line:109空转 #953
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
while (!isRunning()) {
try { Thread.sleep(100); } catch (Exception e) { }
}
如果重连断开的次数过多,最终造成CommsCallback线程无限增长的状况。
stack log:
"MQTT Con: collector-5aab5013" #5913 daemon prio=5 os_prio=0 tid=0x9e9f3000 nid=0x229b waiting on condition [0x86f6e000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at org.eclipse.paho.client.mqttv3.internal.CommsCallback.start(CommsCallback.java:110)
at org.eclipse.paho.client.mqttv3.internal.ClientComms$ConnectBG.run(ClientComms.java:729)
at java.lang.Thread.run(Thread.java:748)
Locked ownable synchronizers:
- None
"MQTT Con: collector-5aab5013" #5910 daemon prio=5 os_prio=0 tid=0x8a506000 nid=0x2297 waiting on condition [0x8719e000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at org.eclipse.paho.client.mqttv3.internal.CommsCallback.start(CommsCallback.java:110)
at org.eclipse.paho.client.mqttv3.internal.ClientComms$ConnectBG.run(ClientComms.java:729)
at java.lang.Thread.run(Thread.java:748)
Locked ownable synchronizers:
- None
"MQTT Con: collector-5aab5013" #5906 daemon prio=5 os_prio=0 tid=0x9de0b400 nid=0x2277 waiting on condition [0x8700e000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at org.eclipse.paho.client.mqttv3.internal.CommsCallback.start(CommsCallback.java:110)
at org.eclipse.paho.client.mqttv3.internal.ClientComms$ConnectBG.run(ClientComms.java:729)
at java.lang.Thread.run(Thread.java:748)
Locked ownable synchronizers:
- None
"MQTT Con: collector-5aab5013" #5903 daemon prio=5 os_prio=0 tid=0x8a505800 nid=0x2274 waiting on condition [0x8705e000]
java.lang.Thread.State: TIMED_WAITING (sleeping)
at java.lang.Thread.sleep(Native Method)
at org.eclipse.paho.client.mqttv3.internal.CommsCallback.start(CommsCallback.java:110)
at org.eclipse.paho.client.mqttv3.internal.ClientComms$ConnectBG.run(ClientComms.java:729)
at java.lang.Thread.run(Thread.java:748)