ポートリスナーをサービスとして実装しようとしています。このサービスは、データを含む文字列を取得した後、DB への挿入を実行します。これをサーバー上で永久に実行したい。
したがって、Java Service Wrapper を使用する前に、正しいコードをラップしているかどうかを尋ねたいと思います。ここに私のコードを示します。他の人がこの同じ問題にどのように取り組んでいるかを聞いてみましょう。
現在、最初にデータを送信したときは完全に機能するが、2 回目以降は何もしないという問題が発生しています。助けてください。
public class PortToDB {
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = null;
DBHandler handler = new DBHandler();
try{
serverSocket = new ServerSocket(50000);
} catch (IOException e){
System.err.println("Could not listen on port: 50000. Error: " + e);
System.exit(1);
}
Socket clientSocket = null;
try{
clientSocket = serverSocket.accept();
} catch(IOException e){
System.err.println("Accept failed. " + e);
System.exit(1);
}
//PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
String inputLine;
while(true){
while ((inputLine = in.readLine()) != null) {
//out.println(inputLine);
handler.dbInsert(inputLine);
}
}
}
}