導航:首頁 > 編程語言 > 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相關的資料

熱點內容
51虛擬機的文件管理在哪裡 瀏覽:13
win10系統有沒有便簽 瀏覽:722
java引用傳遞和值傳遞 瀏覽:109
oracle下載安裝教程 瀏覽:854
php篩選資料庫 瀏覽:830
怎麼用手機看wlan密碼 瀏覽:745
奧維地圖導入的文件在哪裡 瀏覽:364
sdltrados2014教程 瀏覽:43
培訓制度文件在哪裡找 瀏覽:601
勒索病毒防疫工具 瀏覽:861
win10c不能打開 瀏覽:375
xfplay影音先鋒蘋果版 瀏覽:597
兩個文件打開兩個word 瀏覽:921
蘋果6s桌面圖標輕微抖動 瀏覽:326
如何刪除手機中看不見的臨時文件 瀏覽:469
安卓412原生鎖屏apk 瀏覽:464
書加加緩存文件在哪裡 瀏覽:635
dock是word文件嗎 瀏覽:267
社保公司新辦去哪個網站下載資料 瀏覽:640
三維標注數據怎麼填寫 瀏覽:765

友情鏈接