Exception handling 如何处理sparkjava端口绑定中的错误
我使用sparkjava作为嵌入式REST服务器。我已经让用户可以配置端口号,但是我想处理用户指定了一个已经在使用的端口的情况 本文档的这一部分仅涉及搬运路线 当使用已在使用或无效的端口调用port()时,是否有任何方法来处理发生的错误 我目前的不雅解决方案是在开始使用Spark的类之前检查服务器套接字:Exception handling 如何处理sparkjava端口绑定中的错误,exception-handling,spark-java,Exception Handling,Spark Java,我使用sparkjava作为嵌入式REST服务器。我已经让用户可以配置端口号,但是我想处理用户指定了一个已经在使用的端口的情况 本文档的这一部分仅涉及搬运路线 当使用已在使用或无效的端口调用port()时,是否有任何方法来处理发生的错误 我目前的不雅解决方案是在开始使用Spark的类之前检查服务器套接字: try { ServerSocket socket = new ServerSocket(prefs.getListenPort()); socket
try {
ServerSocket socket = new ServerSocket(prefs.getListenPort());
socket.close();
MyListener listener = new MyListener(sightingQueue, prefs.getListenPort());
} catch (Exception e) {
// port is not valid
}
根据我的测试,
port()
在已打开的端口上调用时不会引发任何异常。它只是终止程序。因此,我想您的方法是正确的,无法找到任何固有的方法。使用Spark 2.6.0,您可以指定InitExceptionHandler:
initExceptionHandler((e) -> System.out.println("Uh-oh"));
您可以测试一个候选版本:
<dependency>
<groupId>com.sparkjava</groupId>
<artifactId>spark-core</artifactId>
<version>2.6.0.RC0</version>
</dependency>`
com.sparkjava
火花芯
2.6.0.RC0
`