Java 不断监听端口

Java 不断监听端口,java,daemon,Java,Daemon,我想允许java应用程序监听端口。我从命令提示符运行所需的命令,它监听端口,我看到服务器正在监听端口7070,因为输出和命令行不能通过低端。如果关闭命令提示符,它将断开连接,然后关闭端口 以下是相关代码: import java.io.InputStream; import java.io.FileReader; import java.io.FileInputStream; import java.io.InputStreamReader; import java.io.IOException

我想允许java应用程序监听端口。我从命令提示符运行所需的命令,它监听端口,我看到服务器正在监听端口7070,因为输出和命令行不能通过低端。如果关闭命令提示符,它将断开连接,然后关闭端口

以下是相关代码:

import java.io.InputStream;
import java.io.FileReader;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.IOException;

import org.xml.sax.InputSource;

import de.l3s.boilerpipe.document.TextDocument;
import de.l3s.boilerpipe.extractors.ArticleExtractor;
import de.l3s.boilerpipe.sax.BoilerpipeSAXInput;


// Language detect librarys
import com.cybozu.labs.langdetect.*;

import net.arnx.jsonic.JSON;
import net.arnx.jsonic.JSONException;


import java.io.*;
import java.net.*;


import java.util.concurrent.Executors;
import com.sun.net.httpserver.Headers;
import com.sun.net.httpserver.HttpExchange;
import com.sun.net.httpserver.HttpHandler;
import com.sun.net.httpserver.HttpServer;

class ExampleProgram {

 public static void main(String[] args) throws Exception {

EveryDetector evr = new EveryDetector();
InetSocketAddress addr = new InetSocketAddress("localhost",7070);
HttpServer server = HttpServer.create(addr, 0);

MyHandler hndl = new MyHandler();
hndl.setDetector(evr);

MyHandlerExtractContent hnd2 = new MyHandlerExtractContent();
hnd2.setDetector(evr);

MyHandlerDetectLanguage hnd3 = new MyHandlerDetectLanguage();
hnd3.setDetector(evr);

server.createContext("/",hndl);
server.createContext("/extractcontent",hnd2);
server.createContext("/detectlanguage",hnd3);
server.setExecutor(Executors.newCachedThreadPool());
server.start();
System.out.println("Server is listening on port 7070" );


 }
}

我该怎么办?

听起来你应该作为守护进程运行你的程序。有一个工具可以为您的程序实现这一点


请注意,必须修改程序以实现jsvc页面上列出的
守护进程
接口或实现
初始化
启动
停止
、和
销毁
方法。

关闭shell/窗口后,是否尝试让java程序继续?请编辑以澄清。关闭shell后Java程序不会继续。这是主要问题。如果您在linux中运行,您可以使用
nohup
命令。请参阅@VenkataRaju服务器自动重启后nohup命令是否会运行?好的,但我是否需要重新构造所有java应用程序以将其作为守护进程运行?