2017-06-22 15 views
0

私はSpringブートを使用して、フロントエンド用のすべてのバックエンドREST APIとreactJSを構築しています。 Webアプリケーションを使用すると、UI上に異なるタスクを実行することができます。基本的に、REST APIは実行されている特定のタスクのパラメータで起動されます。私たちがUIを通してそれを実行すると、すべてがうまくいきます。しかし、これらのタスクのいくつかにスケジュール機能を追加したいのであれば、それを進める方法について少し混乱しています。異なる間隔での異なるタスクのスプリングブートスケジューリング

私は春の起動中にいくつかの例を見てきましたが、オブジェクトの戻り値の型をvoidにする条件があります。一方、私のオブジェクトはStringを返すか、場合によってはlongを返します。これらのようなジョブをスケジューリングする最良の方法は、APIをさまざまな時間に実行する必要がある場所ですか。

ユースケース:

  • 私のアプリケーション
  • の異なるタスクは、各タスクは、各タスクが異なるスケジュール時間を持つことができるAPI
  • をトリガーする異なるパラメータを持っているがあります。

上記のユースケースを使用して、スプリングブートアプリケーションを使用してスケジューラを構築するにはどうすればよいですか?私が見てきた

例は以下のとおりです。

package hello; 

import org.springframework.boot.SpringApplication; 
import org.springframework.boot.autoconfigure.SpringBootApplication; 
import org.springframework.scheduling.annotation.EnableScheduling; 

@SpringBootApplication 
@EnableScheduling 
public class Application { 
public static void main(String[] args) throws Exception { 
    SpringApplication.run(Application.class); 
    } 
} 
/***************************************************************/ 
package hello; 

import java.text.SimpleDateFormat; 
import java.util.Date; 

import org.slf4j.Logger; 
import org.slf4j.LoggerFactory; 
import org.springframework.scheduling.annotation.Scheduled; 
import org.springframework.stereotype.Component; 

@Component 
public class ScheduledTasks { 

private static final Logger log = 
    LoggerFactory.getLogger(ScheduledTasks.class); 

private static final SimpleDateFormat dateFormat = new SimpleDateFormat("HH:mm:ss"); 

@Scheduled(fixedRate = 5000) 
public void reportCurrentTime() { 
    log.info("The time is now {}", dateFormat.format(new Date())); 
} 
    } 

答えて

0

あなたはバッチ処理フレームワークに適している懸念を述べました。 Spring BatchはSpring Platformのトップフレームワークです。

関連する問題