Update AsyncTdMiddleEventBusServer.java
This commit is contained in:
parent
449d513f1a
commit
ed7d12e9ba
|
@ -56,7 +56,6 @@ public class AsyncTdMiddleEventBusServer extends AbstractVerticle {
|
|||
|
||||
protected AsyncTdDirectImpl td;
|
||||
private final Scheduler tdSrvPoll;
|
||||
private final Scheduler vertxStatusScheduler = Schedulers.newSingle("VertxStatus", false);
|
||||
/**
|
||||
* Value is not important, emits when a request is received
|
||||
*/
|
||||
|
@ -82,7 +81,6 @@ public class AsyncTdMiddleEventBusServer extends AbstractVerticle {
|
|||
|
||||
@Override
|
||||
public void start(Promise<Void> startPromise) {
|
||||
vertxStatusScheduler.schedule(() -> {
|
||||
var botAddress = config().getString("botAddress");
|
||||
if (botAddress == null || botAddress.isEmpty()) {
|
||||
throw new IllegalArgumentException("botAddress is not set!");
|
||||
|
@ -132,7 +130,6 @@ public class AsyncTdMiddleEventBusServer extends AbstractVerticle {
|
|||
startPromise.fail(h.cause());
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
public void onBeforeStop(Consumer<Promise<Void>> r) {
|
||||
|
@ -145,43 +142,7 @@ public class AsyncTdMiddleEventBusServer extends AbstractVerticle {
|
|||
|
||||
@Override
|
||||
public void stop(Promise<Void> stopPromise) {
|
||||
vertxStatusScheduler.schedule(() -> {
|
||||
runAll(onBeforeStopListeners, onBeforeStopHandler -> {
|
||||
if (onBeforeStopHandler.failed()) {
|
||||
logger.error("A beforeStop listener failed: "+ onBeforeStopHandler.cause());
|
||||
}
|
||||
|
||||
Mono.create(sink -> this.isWorkingConsumer.unregister(result -> {
|
||||
if (result.failed()) {
|
||||
logger.error("Can't unregister consumer", result.cause());
|
||||
}
|
||||
this.startConsumer.unregister(result2 -> {
|
||||
if (result2.failed()) {
|
||||
logger.error("Can't unregister consumer", result2.cause());
|
||||
}
|
||||
|
||||
this.executeConsumer.unregister(result4 -> {
|
||||
if (result4.failed()) {
|
||||
logger.error("Can't unregister consumer", result4.cause());
|
||||
}
|
||||
|
||||
sink.success();
|
||||
});
|
||||
});
|
||||
})).doFinally(signalType -> {
|
||||
logger.info("TdMiddle verticle \"" + botAddress + "\" stopped");
|
||||
|
||||
runAll(onAfterStopListeners, onAfterStopHandler -> {
|
||||
if (onAfterStopHandler.failed()) {
|
||||
logger.error("An afterStop listener failed: " + onAfterStopHandler.cause());
|
||||
}
|
||||
stopPromise.complete();
|
||||
});
|
||||
}).subscribeOn(this.tdSrvPoll).subscribe(v -> {}, ex -> {
|
||||
logger.error("Error when stopping", ex);
|
||||
}, () -> {});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
private void runAll(List<Consumer<Promise<Void>>> actions, Handler<AsyncResult<Void>> resultHandler) {
|
||||
|
@ -246,12 +207,47 @@ public class AsyncTdMiddleEventBusServer extends AbstractVerticle {
|
|||
}
|
||||
|
||||
private void undeploy(Runnable whenUndeployed) {
|
||||
runAll(onBeforeStopListeners, onBeforeStopHandler -> {
|
||||
if (onBeforeStopHandler.failed()) {
|
||||
logger.error("A beforeStop listener failed: "+ onBeforeStopHandler.cause());
|
||||
}
|
||||
|
||||
Mono.create(sink -> this.isWorkingConsumer.unregister(result -> {
|
||||
if (result.failed()) {
|
||||
logger.error("Can't unregister consumer", result.cause());
|
||||
}
|
||||
this.startConsumer.unregister(result2 -> {
|
||||
if (result2.failed()) {
|
||||
logger.error("Can't unregister consumer", result2.cause());
|
||||
}
|
||||
|
||||
this.executeConsumer.unregister(result4 -> {
|
||||
if (result4.failed()) {
|
||||
logger.error("Can't unregister consumer", result4.cause());
|
||||
}
|
||||
|
||||
sink.success();
|
||||
});
|
||||
});
|
||||
})).doFinally(signalType -> {
|
||||
logger.info("TdMiddle verticle \"" + botAddress + "\" stopped");
|
||||
|
||||
runAll(onAfterStopListeners, onAfterStopHandler -> {
|
||||
if (onAfterStopHandler.failed()) {
|
||||
logger.error("An afterStop listener failed: " + onAfterStopHandler.cause());
|
||||
}
|
||||
|
||||
vertx.undeploy(deploymentID(), undeployed -> {
|
||||
if (undeployed.failed()) {
|
||||
logger.error("Error when undeploying td verticle", undeployed.cause());
|
||||
}
|
||||
whenUndeployed.run();
|
||||
});
|
||||
});
|
||||
}).subscribeOn(this.tdSrvPoll).subscribe(v -> {}, ex -> {
|
||||
logger.error("Error when stopping", ex);
|
||||
}, () -> {});
|
||||
});
|
||||
}
|
||||
|
||||
private Mono<Void> pipe() {
|
||||
|
|
Loading…
Reference in New Issue
Block a user