SSM +クォーツ(記事と連動して、定期的に期限切れの画像を削除してください)タイマーを達成します

写真のアップロード機能を達成するために前の記事では、期限切れの映像機能の削除が必要である、有効期限は、暫定的に2週間、すなわち14日に予定されています

 

pom.xmlに追加しました:

  <! - https://mvnrepository.com/artifact/org.quartz-scheduler/quartz - > 
        < 依存> 
            < groupIdを> org.quartz-スケジューラ</ groupIdを> 
            < たartifactId >クォーツ</ たartifactId > 
            < バージョン> 2.3.0 </ バージョン> 
        </ 依存関係>

春の設定ファイル:

    <! - ターゲットBeanとBeanメソッドの定義- > 
    < ID = "SpringQtzJob" クラス= "yi.survey.DeleteQuartz"  />   <! -プロジェクトを実行する- >

     < ID = "SpringQtzJobMethod" 
          クラス= "org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean" > 
        < プロパティ= "対象物体" > 
            < refの= "SpringQtzJob"  />  <! - 実行するための豆- > 
        </ プロパティ> 
        <プロパティ= "targetMethod" >   <! -メソッド名を実行するには- > 
            < > [削除] </ > 
        </ プロパティ> 
    </ > 
    <! - ====================== ==スケジューリングトリガ======================== - > 
    < ビーンID = "CronTriggerBean" クラス=「org.springframework.scheduling.quartz。 CronTriggerFactoryBean " > 
        < プロパティ=" jobDetail " REF =" SpringQtzJobMethod " > </ プロパティ>   <! - 実行するプログラム- > 
        <プロパティ=「cronExpression」= "0 0 0 * *?" > </ プロパティ>   <! - トリガスタート時間はこの日午前0時である- > 
    </ > 

    <! - ============ ============スケジューリング植物======================== - > 
    < ID = "SpringJobSchedulerFactoryBean" 
          クラス= "org.springframework.scheduling.quartz.SchedulerFactoryBean" > 
        < プロパティ= "トリガー" > 
            < リスト> 
                < REF = "CronTriggerBean"  />   <! - 行っトリガ- >
            </ リスト> 
        </プロパティ> 
    </ >

 DeleteQuartz.javaクラス

パブリック クラスDeleteQuartzは{
     公共  ボイド削除(){ 
         System.out.printlnは(新しい日付()+ "触发定时器" ); 
          ストリングbasePathを =はSystem.getProperty( "SMBMMVC.root" )。
          文字列imgPath = basePathを+ "静力学/ IMG" ; 
          ファイルファイル = 新しいファイル(imgPath)。
          []ファイルファイル =のfile.listFiles();
          以下のための(ファイルfile1:ファイル){ 
              文字列fileNameに = file1.getName();
              もし(!fileName.contains( "タイムアウト")){
                  BaseNameの文字列 = FilenameUtils.getBaseName(fileNameに); 
                  String []型S = baseName.split( "_" ); 
                  日付DATE = 新しい新しい日付(Long.parseLong(S [2 ]));   //画像のアップロードの日付を取得します
                   // 現在日付 
                  カレンダーカレンダー= Calendar.getInstance(); 
                  日付nowtime = calendar.getTime(); 

                  // 日付の最初の14日間の画像アップロード日付
                  calendar.setTime(日付); 
                  calendar.set(Calendar.DAY_OF_YEAR、Calendar.get(カレンダー。 DAY_OF_YEAR) 14 ); 
                  日付OUTTimeは= Calendar.getTime();
                   IF(nowTime.after(OUTTimeは)){ // 現在の日付が有効期限日の後で 
                      のSystem.out.println( "期限切れの写真を削除します。" + ファイル名); 
                      file1.delete(); 
                  } 
              } 
          } 
    } 
}

 

おすすめ

転載: www.cnblogs.com/yhood/p/11447005.html