はじめに
こんにちは、新卒1年目の岡崎です。Java19でプレビュー機能として提供されていたバーチャルスレッドが、Java21で正式機能として提供されました。今回は、このバーチャルスレッドをSpringBootに導入する方法を紹介します。
バーチャルスレッドについて詳しく知りたい人は、公式ドキュメントをご覧ください。
環境
openjdk version "21.0.2" 2024-01-16 LTS
OpenJDK Runtime Environment Corretto-21.0.2.13.1 (build 21.0.2+13-LTS)
OpenJDK 64-Bit Server VM Corretto-21.0.2.13.1 (build 21.0.2+13-LTS, mixed mode, sharing)
- Spring boot
. ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v3.2.1)
設定方法
application.ymlに以下の実装を行います。
spring: threads: virtual: enabled: true
これだけでバーチャルスレッドを使用することができます。
確認方法
実際にバーチャルスレッドが使用できるかどうかを確認します。
@RestController @RequiredArgsConstructor public class TestController { @GetMapping("test") public String getThread() { return Thread.currentThread().toString(); } }
結果
VirtualThread[#97,tomcat-handler-0]/runnable@ForkJoinPool-1-worker-1
バーチャルスレッドが使われていたことが確認できました。
最後に
今回は、バーチャルスレッドをSpringBootに導入する方法を紹介しました。皆さんも使ってみてください。
最後に、エキサイトではデザイナー、フロントエンジニア、バックエンドエンジニア、アプリエンジニアを絶賛募集しております!
興味があればぜひぜひ連絡ください!