refactor server side exception handling, better error messages in client
This commit is contained in:
parent
a932852b2c
commit
b74741427c
2 changed files with 19 additions and 10 deletions
|
|
@ -94,7 +94,7 @@ public class JobServClient {
|
||||||
// blocking network operation
|
// blocking network operation
|
||||||
response = blockingStub.getOutput(request);
|
response = blockingStub.getOutput(request);
|
||||||
} catch (StatusRuntimeException e) {
|
} catch (StatusRuntimeException e) {
|
||||||
logger.log(Level.WARNING, "[-] Request for output failed: %s", e.getStatus());
|
logger.log(Level.WARNING, "(API Failure) Request for output failed: %s", e.getMessage());
|
||||||
return "<Error connecting to API>";
|
return "<Error connecting to API>";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -119,7 +119,7 @@ public class JobServClient {
|
||||||
// blocking network operation
|
// blocking network operation
|
||||||
response = blockingStub.newJob(request);
|
response = blockingStub.newJob(request);
|
||||||
} catch (StatusRuntimeException e) {
|
} catch (StatusRuntimeException e) {
|
||||||
logger.log(Level.WARNING, "[-] Request for new job failed!");
|
logger.log(Level.WARNING, "(API Failure) Request for new job failed: %s", e.getMessage());
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -147,7 +147,7 @@ public class JobServClient {
|
||||||
// blocking network operation
|
// blocking network operation
|
||||||
response = blockingStub.getStatus(request);
|
response = blockingStub.getStatus(request);
|
||||||
} catch (StatusRuntimeException e) {
|
} catch (StatusRuntimeException e) {
|
||||||
logger.log(Level.WARNING, "[-] Request for status failed!");
|
logger.log(Level.WARNING, "(API Failure) Request for status failed: %s", e.getMessage());
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -172,7 +172,7 @@ public class JobServClient {
|
||||||
// blocking network operation
|
// blocking network operation
|
||||||
response = blockingStub.getReturn(request);
|
response = blockingStub.getReturn(request);
|
||||||
} catch (StatusRuntimeException e) {
|
} catch (StatusRuntimeException e) {
|
||||||
logger.log(Level.WARNING, "[-] Failed to get return code!");
|
logger.log(Level.WARNING, "(API Failure) Failed to get return code: %s", e.getMessage());
|
||||||
return 278;
|
return 278;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -196,7 +196,7 @@ public class JobServClient {
|
||||||
// blocking network operation
|
// blocking network operation
|
||||||
response = blockingStub.killJob(request);
|
response = blockingStub.killJob(request);
|
||||||
} catch (StatusRuntimeException e) {
|
} catch (StatusRuntimeException e) {
|
||||||
logger.log(Level.WARNING, "[-] Failed to send request!");
|
logger.log(Level.WARNING, "(API Failure) Failed to send request: %s", e.getMessage());
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -13,9 +13,10 @@ import io.grpc.ServerBuilder;
|
||||||
import io.grpc.netty.GrpcSslContexts;
|
import io.grpc.netty.GrpcSslContexts;
|
||||||
import io.grpc.netty.NettyServerBuilder;
|
import io.grpc.netty.NettyServerBuilder;
|
||||||
import io.netty.handler.ssl.ClientAuth;
|
import io.netty.handler.ssl.ClientAuth;
|
||||||
|
import io.netty.handler.ssl.SslContext;
|
||||||
import io.netty.handler.ssl.SslContextBuilder;
|
import io.netty.handler.ssl.SslContextBuilder;
|
||||||
import io.netty.handler.ssl.SslProvider;
|
import io.netty.handler.ssl.SslProvider;
|
||||||
|
import javax.net.ssl.SSLException;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
@ -40,7 +41,7 @@ public class JobServServer {
|
||||||
public JobServServer(int port,
|
public JobServServer(int port,
|
||||||
String serverCert,
|
String serverCert,
|
||||||
String privateKey,
|
String privateKey,
|
||||||
String trustStore) {
|
String trustStore) throws SSLException {
|
||||||
this.port = port;
|
this.port = port;
|
||||||
SslContextBuilder sslContextBuilder = SslContextBuilder.forServer(new File(serverCert), new File(privateKey));
|
SslContextBuilder sslContextBuilder = SslContextBuilder.forServer(new File(serverCert), new File(privateKey));
|
||||||
|
|
||||||
|
|
@ -48,7 +49,7 @@ public class JobServServer {
|
||||||
sslContextBuilder.trustManager(new File(trustStore));
|
sslContextBuilder.trustManager(new File(trustStore));
|
||||||
sslContextBuilder.clientAuth(ClientAuth.REQUIRE);
|
sslContextBuilder.clientAuth(ClientAuth.REQUIRE);
|
||||||
|
|
||||||
this.ssl = GrpcSslContexts.configure(sslClientContextBuilder).build();
|
this.ssl = GrpcSslContexts.configure(sslContextBuilder).build();
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -59,7 +60,7 @@ public class JobServServer {
|
||||||
// TODO: this should be passed in from a configuration manager
|
// TODO: this should be passed in from a configuration manager
|
||||||
server = NettyServerBuilder.forPort(port)
|
server = NettyServerBuilder.forPort(port)
|
||||||
.addService(new ShellServerService())
|
.addService(new ShellServerService())
|
||||||
.sslContext(getSslContextBuilder().build())
|
.sslContext(this.ssl)
|
||||||
.build()
|
.build()
|
||||||
.start();
|
.start();
|
||||||
logger.info("Server initialized!");
|
logger.info("Server initialized!");
|
||||||
|
|
@ -110,7 +111,15 @@ public class JobServServer {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
final JobServServer server = new JobServServer(8448, args[0], args[1], args[2]);
|
JobServServer server;
|
||||||
|
|
||||||
|
try{
|
||||||
|
server = new JobServServer(8448, args[0], args[1], args[2]);
|
||||||
|
} catch (SSLException e) {
|
||||||
|
System.out.println(e.getMessage());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
server.start();
|
server.start();
|
||||||
server.blockUntilShutdown();
|
server.blockUntilShutdown();
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue