<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont

本文涉及的产品
转发路由器TR,750小时连接 100GB跨地域
简介: 原文链接:http://blog.csdn.net/dead_cicle/article/details/70734331.SOCKET监听置于servlet的init方法中,在web.xml里加入1,随TOMCAT启动而启动.2.在实际过程中却遇到了TOMCAT不能启动的问题,Sokcet 监听while(true)的循环hold住了tomcat的启动!3.开始想到使用Thread的yeild方法,未果。

原文链接:http://blog.csdn.net/dead_cicle/article/details/7073433


1.SOCKET监听置于servlet的init方法中,在web.xml里加入<load-on-startup>1<load-on-startup>,随TOMCAT启动而启动.


2.在实际过程中却遇到了TOMCAT不能启动的问题,Sokcet 监听while(true)的循环hold住了tomcat的启动!


3.开始想到使用Thread的yeild方法,未果。(也许是没能正确引用。sleep是肯定不行的,线程依然在hold着。)


4.上厕所回来又在网上一通好找,最后找到一个方法,Socket继承Thread,启动方法放到run,里,然后在线程使用时,设置为守护线程。实现目的是tomcat启动完成后还是能够一直运行:


转载例子:


StartThread.java

import java.io.IOException;
public class StartThread extends Thread {
   public void run() {
        try {
		Server server = new Server();
		server.service();//启动开启服务,监听
	} catch (IOException e) {
		// TODO Auto-generated catch block
		e.printStackTrace();
	}
    }
}

StartServer.java

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
public class StartServer extends HttpServlet {
	public void init() throws ServletException {
		Thread s = new StartThread();
		s.setDaemon(true);// 设置线程为后台线程,tomcat不会被hold,启动后依然一直监听。
		s.start();
	}
}

相关文章
|
Web App开发 前端开发
|
Web App开发 前端开发
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
PipeMapRed.waitOutputThreads(): subprocess failed with code X ,这里code X对应的信息如下:error code 1: Operation not perm...
940 0
|
Web App开发 前端开发 Java
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
 Connection reset by peer的常见原因: 1)服务器的并发连接数超过了其承载量,服务器会将其中一些连接关闭;    如果知道实际连接服务器的并发客户数没有超过服务器的承载量,看下有没有网络流量异常。
856 0
|
Web App开发 存储 前端开发
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
NoSuchObjectException(message:There is no database named cloudera_manager_metastore_canary_test_db_hive_hivemetastore_df61080e04cd7eb36c4336f71b5a8bc4) at org.
1077 0
|
Web App开发 前端开发 数据库
|
Web App开发 监控 前端开发
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
Spark Streaming 的一些问题,做选型前关注这些问题可以有效的降低使用风险。 checkpoint checkpoint 是个很好的恢复机制。
933 0
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
关于reduce边join,其最重要的是使用MultipleInputs.addInputPath这个api对不同的表使用不同的Map,然后在每个Map里做一下该表的标识,最后到了Reduce端再根据标识区分对应的表! ...
781 0
|
新零售 大数据
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
电商数据分析基础指标体系 傅志华 傅志华 信息流、物流和资金流三大平台是电子商务的三个最为重要的平台。而电子商务信息系统最核心的能力是大数据能力,包括大数据处理、数据分析和数据挖掘能力。
1288 0
|
关系型数据库 数据库
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
mysql数据库切分 前言 通过MySQLReplication功能所实现的扩展总是会受到数据库大小的限制,一旦数据库过于庞大,尤其是当写入过于频繁,很难由一台主机支撑的时候,我们还是会面临到扩展瓶颈。
2030 0
|
Web App开发 机器学习/深度学习 前端开发
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html><head><meta http-equiv="Cont
  Caffe Torch Theano TensorFlow Language C++, Python Lua Python Python Pretrained Yes ++ Yes ++ Ye...
647 0

热门文章

最新文章