public class Main {
public static void main(String[] args) {
new JmsStartThread().start();
}
}
public class JmsStartThread extends Thread{
public void run(){
TimeTask.getInstance().startTimeTask();
}
}
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.TimeUnit;
public class TimeTask {
//定时周期执行指定的任务
private static final ScheduledExecutorService SCHEDULED
= Executors.newScheduledThreadPool(1);
//单例模式*************
private static final class TimeTaskEg{
private static final TimeTask timeTask = new TimeTask();
}
private TimeTask(){}
public static TimeTask getInstance(){
return TimeTaskEg.timeTask;
}
/**
* 启动定时任务查询端口是否联通
*/
public void startTimeTask(){
SCHEDULED.scheduleAtFixedRate(PortThread.getInstance(), 0, 30, TimeUnit.SECONDS);
//方法:scheduleAtFixedRate(Runnable command,执行线程
long initialDelay,初始化延时
long period,两次开始最小间隔时间
Timeunit unit计时单位
当执行任务的时间大于我们指定的间隔时间时,他并不会在指定间隔时开辟一个新的线程并发执行这个任务。而是等待该线程执行完毕。
}
public void stopTimeTask(){
SCHEDULED.shutdownNow();
}
}
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;
public class PortThread implements Runnable{
private static final class PortThreadEg{
private static final PortThread portThread = new PortThread();
}
private PortThread(){}
public static PortThread getInstance(){
return PortThreadEg.portThread;
}
@Override
public void run() {
try {
Socket socket = new Socket("10.0.0.2",443);
socket.close();
System.out.println("port connect");
} catch (UnknownHostException e) {
System.out.println("port not connect");
} catch (IOException e) {
System.out.println("port not connect");
}
}
}
Timer执行周期任务时依赖系统时间,如果当前系统时间发生变化会出现一些执行上的变化。
ScheduledExecuterService基于时间的延迟,不会由于系统时间的改变发生执行变化
分享到:
相关推荐
通过这个例子,我们可以了解 Java 定时任务的实现机制,并学习如何使用 Timer 和 TimerTask 来实现定时执行任务的功能。此外,我们还可以学习如何使用 Calendar 和 ServletContextListener 来实现每天定时执行任务的...
Java定时任务的实现是软件开发中常见的需求,用于在特定时间执行特定的业务逻辑,例如数据备份、报表生成等。本文将详细介绍两种常用的Java定时任务实现方式:Timer类和Spring框架的Quartz调度器。 首先,第一种...
Java中的定时任务是软件开发中一个非常重要的功能,它允许我们按照预定的时间间隔执行特定的任务,比如数据备份、日志清理、系统监控等。在Java中,我们可以利用`java.util.Timer`类和`java.util.TimerTask`类来实现...
Java定时任务是应用程序中不可或缺的一部分,它允许程序在特定时间执行特定操作,无需用户干预。在JDK 1.3及以后的版本中,`java.util.Timer`类提供了基础的定时任务支持。不过,`Timer`类的功能相对有限,无法精确...
`Timer`适合简单的定时任务,而`ScheduledExecutorService`更适合复杂的需求,如多线程环境和高并发场景。选择哪种方式取决于具体的应用场景和性能需求。在实际开发中,理解并熟练掌握这两种方法能帮助我们编写出...
"java定时任务" java定时任务是指在java程序中,使用Timer和TimerTask来实现的定时执行任务的机制。java提供了多种方式来实现定时任务,包括使用java.util.Timer和java.util.TimerTask类、使用java.lang.Thread类的...
Java定时执行任务是Java开发中常见的一种需求,用于在特定时间点或按照预设周期执行某段代码。在Java中,有两种主要的方式来实现定时任务:Java.util.Timer类和java.util.concurrent包下的ScheduledExecutorService...
总之,实现Java定时备份MySQL数据库需要理解如何在Java中调用外部命令,如何创建定时任务,以及如何与Spring等框架集成。在SSM项目中,可以利用Spring的定时任务特性来优雅地管理备份任务。记得在实际应用中处理异常...
总结起来,Java定时关机小程序的核心技术包括Java的定时任务处理、操作系统命令的调用,以及可能的图形用户界面设计。理解这些知识点对于开发类似的应用或扩展其他自动化任务非常有帮助。通过学习和实践,你可以创建...
Java定时任务调度是Java应用程序中常见的一种功能,用于在特定时间执行特定任务,例如定期备份、数据清理等。`Timer`类是Java中用于实现定时任务调度的一个基础工具,它位于`java.util`包中。在本文中,我们将深入...
这个例子将带你了解如何在Spring中设置和使用简单的定时任务。首先,我们需要引入Spring的Task模块,它提供了对定时任务的支持。 1. **引入依赖** 要使用Spring的定时任务功能,首先在你的`pom.xml`(如果是Maven...
QuartZ是一款强大的Java调度框架,它允许开发者在应用程序中安排复杂的定时任务。QuartZ提供了灵活的时间表达式,使得创建、管理和执行定时任务变得简单。以下是对QuartZ定时任务的一些关键知识点的详细说明: 1. *...
在Java Web开发中,我们经常需要在服务器启动时自动加载特定的Servlet,并让它们执行一些初始化操作或定时任务。这通常涉及到对Web应用的配置文件`web.xml`以及Servlet类本身的编程。以下将详细讲解如何实现这个功能...
在Spring框架中,定时任务是实现自动化...以上就是关于Spring定时任务`@Scheduled`的例子,包括其工作原理、配置以及在实际项目中的应用。理解并熟练运用这些知识,能够帮助我们构建更加高效、自动化的Spring应用程序。
【定时任务在Java Web中的实现】 在Java Web开发中,定时任务是不可或缺的一部分,它能够按照预设的时间间隔或特定时间执行特定的功能。本示例介绍了一种使用Java的`Timer`类和`TimerTask`类来实现定时任务的方法,...
`ScheduledTask`是一个自定义的Java Bean,它包含定时任务的详细信息,如cron表达式、任务名称、执行的bean方法等: ```java public class ScheduledTask { private String name; private String cronExpression;...
在"Spring2.5+Quartz定时任务简单例子web工程"中,我们可以看到这两个框架的结合使用,主要目标是实现基于 Web 应用的定时任务管理。以下将详细介绍这个项目中可能涉及的知识点: 1. **Spring 2.5**: - **依赖...
在这个最简单的Quartz例子中,我们将探讨如何设置和运行一个基本的定时任务。 首先,我们需要了解Quartz的核心组件:Job和Trigger。Job是实际执行的工作单元,而Trigger则是触发Job执行的时间规则。在Quartz中,...
Java定时任务Quartz是企业级应用中广泛使用的任务调度框架,它允许开发者灵活地定义任务执行的时间和周期。Quartz的核心在于其强大的Job(任务)和Trigger(触发器)概念,能够实现定时任务的调度。在本文中,我们将...