correct shutdown procedure
This commit is contained in:
@@ -8,6 +8,7 @@ import org.zeromq.ZMQException;
|
|||||||
import java.io.UnsupportedEncodingException;
|
import java.io.UnsupportedEncodingException;
|
||||||
import java.util.concurrent.Executors;
|
import java.util.concurrent.Executors;
|
||||||
import java.util.concurrent.ScheduledExecutorService;
|
import java.util.concurrent.ScheduledExecutorService;
|
||||||
|
import java.util.concurrent.ScheduledFuture;
|
||||||
import java.util.concurrent.TimeUnit;
|
import java.util.concurrent.TimeUnit;
|
||||||
import java.util.zip.DataFormatException;
|
import java.util.zip.DataFormatException;
|
||||||
import java.util.zip.Inflater;
|
import java.util.zip.Inflater;
|
||||||
@@ -20,6 +21,7 @@ public class EMDN {
|
|||||||
private ZMQ.Context context = null;
|
private ZMQ.Context context = null;
|
||||||
private ZMQ.Socket subscriber = null;
|
private ZMQ.Socket subscriber = null;
|
||||||
private ScheduledExecutorService executor;
|
private ScheduledExecutorService executor;
|
||||||
|
private ScheduledFuture<?> receive;
|
||||||
private boolean clear;
|
private boolean clear;
|
||||||
|
|
||||||
public EMDN() {
|
public EMDN() {
|
||||||
@@ -43,7 +45,7 @@ public class EMDN {
|
|||||||
LOG.trace("Subscribe");
|
LOG.trace("Subscribe");
|
||||||
subscriber.subscribe(new byte[0]);
|
subscriber.subscribe(new byte[0]);
|
||||||
executor = Executors.newSingleThreadScheduledExecutor();
|
executor = Executors.newSingleThreadScheduledExecutor();
|
||||||
executor.scheduleWithFixedDelay(() -> {
|
receive = executor.scheduleWithFixedDelay(() -> {
|
||||||
try {
|
try {
|
||||||
byte[] receivedData = subscriber.recv(0);
|
byte[] receivedData = subscriber.recv(0);
|
||||||
LOG.trace("Received data: {}", receivedData);
|
LOG.trace("Received data: {}", receivedData);
|
||||||
@@ -61,6 +63,7 @@ public class EMDN {
|
|||||||
public void shutdown() {
|
public void shutdown() {
|
||||||
if (isActive()){
|
if (isActive()){
|
||||||
LOG.info("Shutdown EMDN client");
|
LOG.info("Shutdown EMDN client");
|
||||||
|
receive.cancel(false);
|
||||||
executor.shutdown();
|
executor.shutdown();
|
||||||
subscriber.close();
|
subscriber.close();
|
||||||
context.term();
|
context.term();
|
||||||
|
|||||||
Reference in New Issue
Block a user