私のアプリケーションでは、開始時に特定のポートにバインドします。
public boolean checkIsAlreadyStart() {
try {
final ServerSocket server = new ServerSocket();
server.setReuseAddress(false);
server.bind(new InetSocketAddress("127.0.0.1",APPLICATION_PORT ));
if (server.isBound()){
logger.debug("binding to port: {}", APPLICATION_PORT);
return false;
}
return true;
} catch (IOException e) {
logger.error("cannot bind to port", e);
return true;
}
}
ただし、アプリケーションの 2 つのインスタンスを同時に実行すると、2 番目のインスタンスは IOException なしでメソッドを実行できます。accept() メソッドを呼び出す必要がありますか?