WebFlux機能について説明します。
Spring Frameworkが提供するWebFluxフレームワークは少ないリソースでスケーリングが可能な、Servlet 3.1のNon-Blocking I/Oに基づくリアクティブなWebフレームワークです。
Interstage Business Application Serverで利用可能な機能を以下に示します。
項番 | API名 | 使用可能なメソッド、要素または型 |
---|---|---|
1 | @RestController | -(注) |
2 | @ComponentScan | -(注) |
3 | @Configuration | -(注) |
4 | @EnableWebFlux | - |
5 | @GetMapping |
|
6 | @ResponseBody | - |
7 | @ResponseStatus |
|
8 | AbstractReactiveWebInitializer |
|
9 | WebFluxConfigurer | -(注) |
10 | コントローラのメソッドの引数の型 | -(注) |
11 | コントローラのメソッドの戻り値の型 | String |
注)メソッド、要素または型を指定しない場合のみサポートします。
例
WebFluxの例を下記に示します。
コントローラクラス:
@RestController public class UserController { @GetMapping(path = "/hello", produces = "text/plain") @ResponseBody @ResponseStatus(HttpStatus.OK) public String sample() { return "Hello, Spring!"; } } |
Java形式のWebアプリケーション環境定義:
public class UserInitializer extends AbstractReactiveWebInitializer { @Override protected Class<?>[] getConfigClasses() { return new Class[]{ WebConfig.class }; } } |
Java形式のBean定義ファイル:
@Configuration @ComponentScan @EnableWebFlux public class WebConfig implements WebFluxConfigurer { } |