This is an automated email from the ASF dual-hosted git repository.
riemer pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/streampipes.git
The following commit(s) were added to refs/heads/dev by this push:
new 49d0cf1c9a fix: Avoid machine simulator crash (#3124)
49d0cf1c9a is described below
commit 49d0cf1c9aee142d7a56d3ec18ef7eb7a34d2640
Author: Dominik Riemer <[email protected]>
AuthorDate: Sun Aug 11 21:54:09 2024 +0200
fix: Avoid machine simulator crash (#3124)
---
.../simulator/machine/MachineDataSimulator.java | 18 ++++++++++++------
1 file changed, 12 insertions(+), 6 deletions(-)
diff --git
a/streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/adapters/simulator/machine/MachineDataSimulator.java
b/streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/adapters/simulator/machine/MachineDataSimulator.java
index 32b941a21c..ce2a914349 100644
---
a/streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/adapters/simulator/machine/MachineDataSimulator.java
+++
b/streampipes-extensions/streampipes-connect-adapters-iiot/src/main/java/org/apache/streampipes/connect/iiot/adapters/simulator/machine/MachineDataSimulator.java
@@ -20,18 +20,24 @@ package
org.apache.streampipes.connect.iiot.adapters.simulator.machine;
import org.apache.streampipes.commons.exceptions.connect.AdapterException;
import org.apache.streampipes.extensions.api.connect.IEventCollector;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import java.util.HashMap;
import java.util.Map;
+import java.util.concurrent.TimeUnit;
public class MachineDataSimulator implements Runnable {
- private IEventCollector collector;
+ private final IEventCollector collector;
private final Integer waitTimeMs;
private final String selectedSimulatorOption;
private Boolean running;
+ private static final Logger LOG =
LoggerFactory.getLogger(MachineDataSimulator.class);
+
public MachineDataSimulator(IEventCollector collector,
Integer waitTimeMs,
String selectedSimulatorOption) {
@@ -44,10 +50,10 @@ public class MachineDataSimulator implements Runnable {
@Override
public void run() {
this.running = true;
- Map<String, Object> event = new HashMap<>();
long startTimeMs = System.currentTimeMillis();
while (running) {
+ Map<String, Object> event = new HashMap<>();
long currentTimeMs = System.currentTimeMillis();
long timeDeltaMs = currentTimeMs - startTimeMs;
@@ -95,18 +101,18 @@ public class MachineDataSimulator implements Runnable {
try {
throw new AdapterException("resource not found");
} catch (AdapterException e) {
- e.printStackTrace();
+ throw new RuntimeException(e);
}
}
- if (event.keySet().size() > 0) {
+ if (!event.keySet().isEmpty()) {
collector.collect(event);
}
try {
- Thread.sleep(waitTimeMs);
+ TimeUnit.MILLISECONDS.sleep(waitTimeMs);
} catch (InterruptedException e) {
- e.printStackTrace();
+ LOG.error("Machine simulator thread interrupted", e);
}
}
}