Java 退出程序时异常连接重置

Java 退出程序时异常连接重置,java,Java,我有一个连接到MySQL的多线程服务器,每次运行它都会得到相同的异常:java.net.SocketException:connection reset 这是我的服务器: 公开募捐{ //已同步(此){ 这是我的工作线程: String[] str = new String[10]; String arr; try { int i=0; int b=0;

我有一个连接到MySQL的多线程服务器,每次运行它都会得到相同的异常:java.net.SocketException:connection reset 这是我的服务器: 公开募捐{ //已同步(此){

这是我的工作线程:

             String[] str = new String[10]; 
         String arr;
            try {
                int i=0;
                int b=0;
                String message=null;

            while(!Thread.currentThread().isInterrupted())   {
             message=in.readLine();

            if (message.equals("exit")){
            System.exit(0); 
            }
                       // .... here I have other if statements 
}

            } catch (IOException | SQLException e1) {

                e1.printStackTrace();
            } finally {
                try {
                    clientSocket.close();
                } catch (IOException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

                }
            }
例外情况是:

java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at sun.nio.cs.StreamDecoder.readBytes(Unknown Source)
at sun.nio.cs.StreamDecoder.implRead(Unknown Source)
at sun.nio.cs.StreamDecoder.read(Unknown Source)
at java.io.InputStreamReader.read(Unknown Source)
at java.io.BufferedReader.fill(Unknown Source)
at java.io.BufferedReader.readLine(Unknown Source)
at java.io.BufferedReader.readLine(Unknown Source)
at Pack.WorkerThread.run(WorkerThread.java:62)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
它出现在这里:

message=in.readLine();

如果您使用System.exit(0)退出程序,您的连接将被终止,从而导致此异常

如果不希望引发此异常,请确保在调用System.exit(0)或终止线程之前,使用.close()中的
关闭inputstream

message=in.readLine();