Springbootでのタスクの非同期実行
6389 ワード
パラレルとパラレルシーンでは、非同期実行が少なくありません.ここでspringbootで注釈を使用して非同期タスクを実行する方法を見てみましょう.
まずspringbootプロジェクトを作成し、主関数クラスに
次にクラスを作成し、
次に、非同期メソッドを呼び出すテストクラスを示します.
まずspringbootプロジェクトを作成し、主関数クラスに
@EnableAsync
注記を加えて非同期機能をオンにします.以下に示します.@SpringBootApplication
@EnableAsync
public class SpringbootAcTaskApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootAcTaskApplication.class, args);
}
}
次にクラスを作成し、
@Async
注記で非同期メソッドを明記すればよい.以下に示す.@Component
class AsyncRun {
@Async
void async() {
System.out.println("async running");
}
@Async
Future<String> asyncFuture() {
System.out.println("async-future running");
return new AsyncResult<>("async-future run");
}
}
次に、非同期メソッドを呼び出すテストクラスを示します.
@Component
public class AsyncDemo implements CommandLineRunner {
@Resource
private AsyncRun asyncRun;
@Override
public void run(String... args) throws Exception {
System.out.println("begin");
asyncRun.async();
Future<String> future = asyncRun.asyncFuture();
System.out.println("end");
System.out.println(future.get(1, TimeUnit.SECONDS));
}
}