`
lpm528
  • 浏览: 81542 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

通过线程去实现项目启动后每隔段时间去扫描数据库

    博客分类:
  • java
 
阅读更多

  <servlet-name>DataSyn</servlet-name>
  <servlet-class>com.datasyn.DataSyn</servlet-class>
  <init-param>
   <param-name>interval</param-name>
   <param-value>5000</param-value>
  </init-param>
  <load-on-startup>1</load-on-startup>          //项目启动就执行这个servlet
 </servlet>
 <servlet-mapping>
  <servlet-name>DataSyn</servlet-name>
  <url-pattern>/servlet/DataSyn</url-pattern>
 </servlet-mapping>

 

 

servlet类中的的init和destroy方法:

 

public class DataSyn extends HttpServlet {

 private static Logger  log = Logger.getLogger(DataSyn.class.getName());
 private Thread t = null;
 private boolean istop = false;


 /**
  * Constructor of the object.
  */
 public DataSyn() {
  super();
 }

 

 

 /**
  * Initialization of the servlet. <br>
  *
  * @throws ServletException if an error occurs
  */
 public void init() throws ServletException {
  System.out.println("DataSyn init 准备启动");  

  Runnable r = new Runnable() {           //匿名内部类
   Resouce resource = new Resouce();
   OpDb oD = new OpDb();
   public void run() {                          //实现runnable接口的run方法
        while(!istop)
    {
     try {
      Thread.sleep(Integer.parseInt(DataSyn.this.getInitParameter("interval")));  //此线程每隔段时间休眠
     } catch (NumberFormatException e) {
      e.printStackTrace();
     } catch (InterruptedException e) {
        e.printStackTrace();
     }    
     resource.work();         //具体的数据库操作写在这方法里
     }
   }
  };
  t = new Thread(r);
  t.start();                    //开始执行此线程的方法run
 }

 

 /**
  * Destruction of the servlet. <br>
  */
 public void destroy() {
  super.destroy(); // Just puts "destroy" string in log
  // Put your code here
  istop = true;
  try {
   t.join();
  } catch (InterruptedException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  System.out.println("destroy");
 }


}

 

 

分享到:
评论

相关推荐

    强大的扫描工具x-scan

    “并发扫描”项 - 设置并发扫描的主机和并发线程数,也可以单独为每个主机的各个插件设置最 大线程数。 “网络设置”项 - 设置适合的网络适配器,若找不到网络适配器,请重新安装WinPCap 3.1 beta4 以上版本驱动...

    mysql数据库my.cnf配置文件

    # 然后主线程花些时间(尽管很短)检查连接并且启动一个新线程。back_log值指出在MySQL暂时停止回答新请求之前的短时间内多少个请求可以被存在堆栈中。 # 如果期望在一个短时间内有很多连接,你需要增加它。也就是说,...

    Safe3 Web漏洞扫描系统企业版v10.1特别版

    网站的应用逐步增多,更新较快,每隔一段时间应 做一次全面检测,若采用传统渗透测试方法,花费昂贵,且往往得不到真正意义上的风险报告。Safe3 Web Vul Scanner使用较为领先的智能化爬虫技术及SQL注入状态检测技术...

    Safe3 Web蜘蛛爬行漏洞扫描系统 v9.6

    网站的应用逐步增多,更新较快,每隔一段时间应做一次全面检测,若采用传统渗透测试方法,花费昂贵,且往往得不到真正意义上的风险报告。Safe3 Web Vul Scanner使用较为领先的智能化爬虫技术及SQL注入状态检测技术,...

    X-Scan v3.1

    采用多线程方式对指定IP地址段(或单机)进行安全漏洞检测,支持插件功能,提供了图形界面和命令行两种操作方式,扫描内容包括:远程服务类型、操作系统类型及版本,各种弱口令漏洞、后门、应用服务漏洞、网络设备...

    X-Scan

    功能简介: &lt;br&gt; 采用多线程方式对指定IP地址段(或单机)进行安全漏洞检测,支持插件功能,提供了图形界面和命令行两种操作方式,扫描内容包括:远程服务类型、操作系统类型及版本,各种弱口令漏洞、后门、应用...

    x-SCAN -V3.3-CN.

    “并发扫描”项 - 设置并发扫描的主机和并发线程数,也可以单独为每个主机的各个插件设置最大线程数。 “网络设置”项 - 设置适合的网络适配器,若找不到网络适配器,请重新安装WinPCap 3.1 beta4以上版本驱动。 ...

    x-scan v3.3 GUI

    “并发扫描”项 - 设置并发扫描的主机和并发线程数,也可以单独为每个主机的各个插件设置最大线程数。 “网络设置”项 - 设置适合的网络适配器,若找不到网络适配器,请重新安装WinPCap 3.1 beta4以上版本驱动。 ...

    java微信公众号MVC开发框架

    每个被@Weixin注解包围的类会在web应用启动时被扫描,配置项会加载到微信上下文中,@Weixin注解的参数说明: value:代表微信上下文关键字,不能为空,在微信公众号基本配置中,处于URL配置的最后部分。例如微信...

    Oracle9i的init.ora参数中文说明

    说明 : 指定在启动例程后, 要为共享服务器环境创建的服务器进程的数量。 值范围: 根据操作系统而定。 默认值 : 1 circuits: 说明 : 指定可用于入站和出站网络会话的虚拟电路总数。 该参数是构成某个例程的总 SGA ...

    Windows Sysinternals Suite v2019.06.29.zip

    之前为Winternals公司提供的免费工具,后被微软直接收购。用户使用这套工具程序集将更好处理Windows的各种问题,以及可以帮助用户管理、诊断和解决Windows系统及应用程序故障。是用户实现对Windows管理的好帮手。 ...

    cmd操作命令和linux命令大全收集

    at ip time 程序名(或一个命令) /r 在某时间运行对方某程序并重新启动计算机 finger username @host 查看最近有哪些用户登陆 telnet ip 端口 远和登陆服务器,默认端口为23 open ip 连接到IP(属telnet登陆后的...

    注册表批量修改权限命令

    通过方便的 shell 上下文菜单项,作为另一个用户启动程序。 Sigcheck 转储文件版本信息并检查系统中的映像是否已进行数字签名。 Streams 显示 NTFS 备用数据流。 Strings 在二进制映像中搜索 ANSI 和 UNICODE 字符串...

    调试开发工具集

    通过方便的 shell 上下文菜单项,作为另一个用户启动程序。 Sigcheck 转储文件版本信息并检查系统中的映像是否已进行数字签名。 Streams 显示 NTFS 备用数据流。 Strings 在二进制映像中搜索 ANSI 和 UNICODE ...

    微软Sysinternals Suite工具包 2018.12.18 官方版.zip

    通过方便的 shell 上下文菜单项,作为另一个用户启动程序。Sigcheck 转储文件版本信息并检查系统中的映像是否已进行数字签名。Streams 显示 NTFS 备用数据流。Strings 在二进制映像中搜索 ANSI 和 UNICODE 字符串...

    SysinternalsSuite

     通过方便的 shell 上下文菜单项,作为另一个用户启动程序。  Sigcheck  转储文件版本信息并检查系统中的映像是否已进行数字签名。  Streams  显示 NTFS 备用数据流。  Strings  在二进制映像中搜索 ANSI 和 ...

    网站安全狗IIS版 v4.0.18081.exe

    软件集网站内容安全防护、网站资源保护及网站流量保护功能为一体,功能涵盖网马/木马扫描、防SQL注入、防盗链、防黑链、防CC攻击、网站加速、危险组件防护、下载线程保护、IP黑白名单管理、实时流量监控、实时CPU...

    IIS6.0 IIS,互联网信息服务

    一个IP地址对应多个Web站点 当按上步的方法建立好所有的Web站点后,对于做虚拟主机,可以通过给各Web站点设不同的端口号来实现,比如给一个Web站点设为80,一个设为81,一个设为82……,则对于端口号是80的Web站点,...

    Sysinternals 微软系统监控实用工具

    通过方便的 shell 上下文菜单项,作为另一个用户启动程序。 Sigcheck v1.65(2010 年 1 月 19 日) 转储文件版本信息并检查系统中的映像是否已进行数字签名。 Streams v1.56(2007 年 4 月 27 日) 显示 NTFS 备用...

Global site tag (gtag.js) - Google Analytics