diff --git a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/MasterServer.java b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/MasterServer.java index 212e5d9a88ede1838f3b01386bf31611e33db5a4..0f3656b221b59ab38fd128279193adedbad12d1c 100644 --- a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/MasterServer.java +++ b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/MasterServer.java @@ -26,6 +26,7 @@ import org.apache.dolphinscheduler.server.master.processor.TaskAckProcessor; import org.apache.dolphinscheduler.server.master.processor.TaskKillResponseProcessor; import org.apache.dolphinscheduler.server.master.processor.TaskResponseProcessor; import org.apache.dolphinscheduler.server.master.registry.MasterRegistry; +import org.apache.dolphinscheduler.server.master.runner.MasterSchedulerService; import org.apache.dolphinscheduler.server.zk.ZKMasterClient; import org.apache.dolphinscheduler.service.bean.SpringApplicationContext; import org.apache.dolphinscheduler.service.quartz.QuartzExecutors; @@ -80,6 +81,9 @@ public class MasterServer { @Autowired private ZKMasterClient zkMasterClient; + @Autowired + private MasterSchedulerService masterSchedulerService; + /** * master server startup * @@ -109,6 +113,8 @@ public class MasterServer { // this.zkMasterClient.start(); this.masterRegistry.registry(); + // + masterSchedulerService.start(); // start QuartzExecutors // what system should do if exception @@ -162,6 +168,7 @@ public class MasterServer { this.nettyRemotingServer.close(); this.masterRegistry.unRegistry(); this.zkMasterClient.close(); + this.masterSchedulerService.close(); //close quartz try{ diff --git a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/MasterSchedulerService.java b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/MasterSchedulerService.java index a5598ee8c6882d722b7854a05de011a8f819fc0b..6949ada0225e3f7b3756996380a37213d770cbcf 100644 --- a/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/MasterSchedulerService.java +++ b/dolphinscheduler-server/src/main/java/org/apache/dolphinscheduler/server/master/runner/MasterSchedulerService.java @@ -34,8 +34,6 @@ import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import javax.annotation.PostConstruct; -import javax.annotation.PreDestroy; import java.util.concurrent.ThreadPoolExecutor; /** @@ -49,11 +47,6 @@ public class MasterSchedulerService extends Thread { */ private static final Logger logger = LoggerFactory.getLogger(MasterSchedulerService.class); - /** - * master exec service - */ - private ThreadPoolExecutor masterExecService; - /** * dolphinscheduler database interface */ @@ -66,28 +59,33 @@ public class MasterSchedulerService extends Thread { @Autowired private ZKMasterClient zkMasterClient; + @Autowired + private MasterConfig masterConfig; + /** * netty remoting client */ - private NettyRemotingClient nettyRemotingClient; - + private final NettyRemotingClient nettyRemotingClient; - @Autowired - private MasterConfig masterConfig; + /** + * master exec service + */ + private final ThreadPoolExecutor masterExecService; /** * constructor of MasterSchedulerThread */ - @PostConstruct - public void init(){ + public MasterSchedulerService(){ this.masterExecService = (ThreadPoolExecutor)ThreadUtils.newDaemonFixedThreadExecutor("Master-Exec-Thread", masterConfig.getMasterExecThreads()); NettyClientConfig clientConfig = new NettyClientConfig(); this.nettyRemotingClient = new NettyRemotingClient(clientConfig); + } + + public void start(){ super.setName("MasterSchedulerThread"); super.start(); } - @PreDestroy public void close(){ nettyRemotingClient.close(); logger.info("master schedule service stopped...");