导航:首页 > 编程语言 > javacronjob

javacronjob

发布时间:2024-03-30 23:36:31

⑴ 如何用java实现定时扫描文件

  1. 写一个类继承Thread,重写run方法,在辩局run方法里面写你要做的处理,然后根据你的定时要枝卖求来设置sleep的时间。

    newThread(){
    run(){
    //根据具体需求设置时间:毫秒
    sleep(100ms);
    while(true){
    //扫描文件夹处理
    猛灶逗....
    //根据具体需求设置时间:毫秒
    sleep(24*3600*1000);
    }
    }
    }
  2. java中不是有定时器吗?写好自己的任务,定时执行就可以了

    Timertimer=newTimer();
    Tasktask=newTask(){
    publicvoidrun(){
    System.out.println("running...");
    }
    };
    timer.shele(task,delayDate,internalTime);
  3. 这种跟操作系统关系紧密的操作没必要用java来做,除非你是J2EE,那么Spring里有quataz类似Unix里面cronjob的开源框架可以用,很方便

  4. Unix、linux操作系统配到cronjob里即可,Windows操作系统的“开始”-》“附件”-》系统工具-》计划任务

⑵ GitHub上面有哪些经典的java框架源码

⑶ 用java的Quartz包定时调用方法,我想实现每隔一个半小时调用一次方法, 请问Corn表达式怎么写

结合spring框架写的
<beanid="cronTriggerPay"
class="org.springframework.scheling.quartz.CronTriggerBean">
<propertyname="jobDetail">
<!--使用嵌套Bean的方式来定义任务Bean-->
<bean
class="org.springframework.scheling.quartz.JobDetailBean">
<!--指定任务Bean的实现类-->
<propertyname="jobClass"
value="org.seu.yto.schele.PayJob"/>
<!--为任务Bean注入属性-->
<propertyname="jobDataAsMap">
<map>
<entrykey="empMgr"value-ref="empManager"/>
</map>
</property>
</bean>
</property>
<!--指定Cron表达式:每月1日6点启动-->
<propertyname="cronExpression"value="0061*?*"/>
</bean>
<!--定义触发器来管理任务Bean-->
<beanid="cronTriggerPunch"
class="org.springframework.scheling.quartz.CronTriggerBean">
<propertyname="jobDetail">
<!--使用嵌套Bean的方式来定义任务Bean-->
<bean
class="org.springframework.scheling.quartz.JobDetailBean">
<!--指定任务Bean的实现类-->
<propertyname="jobClass"
value="org.seu.yto.schele.PunchJob"/>
<!--为任务Bean注入属性-->
<propertyname="jobDataAsMap">
<map>
<entrykey="empMgr"value-ref="empManager"/>
</map>
</property>
</bean>
</property>
<!--指定Cron表达式:周一到周五8点、12点执行调度-->
<propertyname="cronExpression"
value="008,12?*MON-FRI"/>
</bean>
<!--执行实际的调度调度-->
<bean
class="org.springframework.scheling.quartz.SchelerFactoryBean">
<propertyname="triggers">
<list>
<reflocal="cronTriggerPay"/>
<reflocal="cronTriggerPunch"/>
</list>
</property>
</bean>

⑷ 用java实现定时任务要稳定的。谁帮实现一下。 比如: 每天早上8点输出一句话。(天天早上8点都输出).

自己去复制执行,timer是util的timer
public static void main(String[] args) {
int i=1000; //1000毫秒及1秒
int s=60000;
Timer t=new Timer();
t.schele(new TimerTask() {

@Override
public void run() {
// TODO Auto-generated method stub
SimpleDateFormat sdf=new SimpleDateFormat("HH");
if(sdf.format(new Date()).equals("08")){

System.out.println("现在8点");
}
}
}, i, s);

}

⑸ k8s cronjob 启动顺序

k8s cronjob 启动顺序如下:
在K8S部署中,有时候容器启动顺序因为我们业务需要是有要求的,比如业务服务可能需要在 配置中心、注册的中心 启动后才启动。
通过 initContainer 来阻塞启动,如下以业务服务需要在apollo配置中心启动后才启动需求为例:
my-namespace为配置中心所在命名空间的名称。svc.cluster.local为固定写法。6166为我的配置中心的端口号。
/info为配置中心启动后可以正常访问的一个URL地址,这个根据你自己实际需求填写,比如 /actuator/metrics 等等。

⑹ java的几种定时任务

java定时任务有三种:

- JDK自带 :JDK自带的Timer以及JDK1.5+ 新增的ScheledExecutorService;


- Quartz :简单却强大的JAVA作业调度框架


- Spring3.0以后自带的task :可以将它看成一个轻量级的Quartz,而且使用起来比Quartz简单许多;

代码参考:

  1. JDK 自带的定时器实现

    schele(TimerTask task, Date time) 特定时间执行


    public static void main(String[] args) {


    for (int i = 0; i < 10; ++i) {


    new Timer("timer - " + i).schele(new TimerTask() {


    @Override
    public void run() {


    println(Thread.currentThread().getName() + " run ");


    }


    }, new Date(System.currentTimeMillis() + 2000));


    }
    }

  2. Quartz 定时器实现

    2.1 通过maven引入依赖(这里主要介绍2.3.0) 注意:shiro-scheler中依赖的是1.x版本 如果同时使用会冲突

    <!-- https://mvnrepository.com/artifact/org.quartz-scheler/quartz -->


    <dependency>


    <groupId>org.quartz-scheler</groupId>


    <artifactId>quartz</artifactId>


    <version>2.3.0</version>


    </dependency>

    2.2创建Job类

    public class TestJob implements Job{


    @Override
    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {


    println(Thread.currentThread().getName() + " test job begin " + DateUtil.getCurrentTimeStr());


    }
    }

    2.3调度任务

    public static void main(String[] args) throws InterruptedException, SchelerException {


    Scheler scheler = new StdSchelerFactory().getScheler();


    // 开始


    scheler.start();


    // job 唯一标识 test.test-1


    JobKey jobKey = new JobKey("test" , "test-1");


    JobDetail jobDetail = JobBuilder.newJob(TestJob.class).withIdentity(jobKey).build();


    Trigger trigger = TriggerBuilder.newTrigger() .withIdentity("test" , "test")

// 延迟一秒执行

.startAt(new Date(System.currentTimeMillis() + 1000))

// 每隔一秒执行 并一直重复

.withSchele(SimpleScheleBuilder.simpleSchele().withIntervalInSeconds(1).repeatForever())
.build();

scheler.scheleJob(jobDetail , trigger);

Thread.sleep(5000);
// 删除job

scheler.deleteJob(jobKey);


}

3.Spring 相关的任务调度

3.1 配置文件实现

spring-schele.xml

<task:scheler id="myScheler" pool-size="10" />


<task:scheled-tasks scheler="myScheler">


<task:scheled ref="job" method="test" cron="0 * * * * ?"/>


</task:scheled-tasks>

3.2注解实现

spring-schele.xml


<task:scheler id="myScheler" pool-size="10" />


// 启用注解


<task:annotation-driven scheler="myScheler"/>

@Component
public class Task{

@Scheled(cron="0/5 * * * * ? ") //每5秒执行一次
public void execute(){


DateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");


System.out.println(sdf.format(DateTime.now().toDate())+"*********B任务每5秒执行一次进入测试");


}
}

阅读全文

与javacronjob相关的资料

热点内容
文件弄哪个盘 浏览:385
iphone旧手机导入新手机用什么app 浏览:126
佳明手表和高驰数据准确度哪个好 浏览:663
表1如何提取表2匹配的数据 浏览:342
win10系统分多一个区 浏览:957
苹果6s动态壁纸不动 浏览:779
清理手机残留文件在哪里 浏览:665
苹果手机如何连上电视 浏览:87
直接把cad安装文件删除了 浏览:948
电脑要还原怎么保存文件 浏览:233
怎么查看app商店每天最新 浏览:966
模组设定在哪个文件夹 浏览:162
苹果现在怎么看片 浏览:527
有什么网站都是看大型圣诞树 浏览:343
linux文件夹添加用户权限 浏览:231
word插入换行符 浏览:779
lol游戏在哪个文件夹 浏览:661
如何在整个excel文件夹内查找 浏览:342
赞丽app的步数怎么兑换 浏览:862
苹果手机文件夹透明 浏览:542

友情链接