all initialized service objects use the same processmanager now, added shutdown hook to deinitialize processmanager and processcontroller objects

This commit is contained in:
Aidan Hahn 2019-05-23 17:24:48 -07:00
parent 3538cac0d8
commit 7b0184cbd3
No known key found for this signature in database
GPG key ID: 327711E983899316
3 changed files with 34 additions and 26 deletions

View file

@ -32,17 +32,18 @@ public class JobServServer {
private static final Logger logger = Logger.getLogger(JobServServer.class.getName());
private Server server;
private ProcessManager manager;
/*
* Constructor
* builds server object
*/
public JobServServer(SslContext ssl, int port) throws IOException {
this.server = NettyServerBuilder.forPort(port)
.addService(new ShellServerService())
.sslContext(ssl)
.build()
.start();
this.server = NettyServerBuilder.forPort(port)
.addService(new ShellServerService(manager))
.sslContext(ssl)
.build()
.start();
}
/*
@ -58,6 +59,7 @@ public class JobServServer {
@Override
public void run() {
logger.info("Shutting down server");
manager.shutdown();
JobServServer.this.stop();
}
});
@ -100,14 +102,14 @@ public class JobServServer {
JobServServer server;
try {
SslContextBuilder sslContextBuilder = SslContextBuilder.forServer(new File(args[1]), new File(args[2]));
SslContextBuilder sslContextBuilder = SslContextBuilder.forServer(new File(args[1]), new File(args[2]));
// Mutual TLS trust store and require client auth
sslContextBuilder.trustManager(new File(args[3]));
sslContextBuilder.clientAuth(ClientAuth.REQUIRE);
// Mutual TLS trust store and require client auth
sslContextBuilder.trustManager(new File(args[3]));
sslContextBuilder.clientAuth(ClientAuth.REQUIRE);
server = new JobServServer(GrpcSslContexts.configure(sslContextBuilder).build(),
Integer.parseInt(args[0]));
server = new JobServServer(GrpcSslContexts.configure(sslContextBuilder).build(),
Integer.parseInt(args[0]));
} catch (InputMismatchException e) {
System.out.println("Invalid port!");
@ -118,10 +120,11 @@ public class JobServServer {
return;
} catch (IOException e) {
System.out.println(e.getMessage());
return;
}
System.out.println(e.getMessage());
return;
}
System.out.println("JobServ Server Initialized! Connect anytime...");
server.blockUntilShutdown();
}
}