私はSpring Boot 2.0を使って新しいWebアプリケーションを開始します。私はVaadin 8を使ってUIを提供したいと思います。また、Spring 5が提供するWebFluxフレームワークを使用してAPIインターフェイスを提供したいと思います。SpringアプリケーションでVaadinとSpring WebFluxの両方を使用すると、どのようにルートを設定できますか?
しかし、私のbuild.gradleにVaadinを含めての行為は私のWebFluxルートは無視されているようです:
compile('com.vaadin:vaadin-spring-boot-starter')
私はVaadinが設定されているとき、私はそれはおそらく起動時に自身を設定するを参照してください。
2017-09-16 16:04:52.332 INFO 19413 --- [ost-startStop-1] c.v.s.b.i.VaadinServletConfiguration : Registering Vaadin servlet
2017-09-16 16:04:52.333 INFO 19413 --- [ost-startStop-1] c.v.s.b.i.VaadinServletConfiguration : Servlet will be mapped to URLs [/vaadinServlet/*, /VAADIN/*]
2017-09-16 16:04:52.356 INFO 19413 --- [ost-startStop-1] c.v.s.b.i.VaadinServletConfiguration : Setting servlet init parameters
2017-09-16 16:04:52.356 INFO 19413 --- [ost-startStop-1] c.v.s.b.i.VaadinServletConfiguration : Set servlet init parameter [productionMode] = [false]
2017-09-16 16:04:52.357 INFO 19413 --- [ost-startStop-1] c.v.s.b.i.VaadinServletConfiguration : Set servlet init parameter [resourceCacheTime] = [3600]
2017-09-16 16:04:52.357 INFO 19413 --- [ost-startStop-1] c.v.s.b.i.VaadinServletConfiguration : Set servlet init parameter [heartbeatInterval] = [300]
2017-09-16 16:04:52.357 INFO 19413 --- [ost-startStop-1] c.v.s.b.i.VaadinServletConfiguration : Set servlet init parameter [closeIdleSessions] = [false]
2017-09-16 16:04:52.441 INFO 19413 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean : Mapping servlet: 'dispatcherServlet' to [/]
2017-09-16 16:04:52.444 INFO 19413 --- [ost-startStop-1] o.s.b.w.servlet.ServletRegistrationBean : Mapping servlet: 'springVaadinServlet' to [/vaadinServlet/*, /VAADIN/*]
私はVaadinを削除すると、私は私のWebFluxのルートが設定されている参照してください。
2017-09-16 16:07:51.434 INFO 19441 --- [ restartedMain] o.s.w.r.f.s.s.RouterFunctionMapping : Mapped (Accept: [application/json] && /api) -> /document -> org.springframework.web.reactive.function.server.RouterFunction$$Lambda$203/[email protected]
Vaadinをアクティブにしても表示されません。 Vaadin Spring Bootのスターターパッケージがすべてを無効にしているようです。
@SpringUIコンポーネントのパスをルートにしないように変更しようとしましたが、何も変更されませんでした。
私もこの試みた:
@WebServlet(value = "/myspringuis/*", asyncSupported = true)
public class MySpringServlet extends SpringVaadinServlet {
}
を私はSpringVaadinServletは、まさにこのにどのように適合するかを理解していないが、それは私の問題に関連しています疑い。
VaadinとWebFluxを同時に使用することはできますか?私は明らかに経路を分けて、WebFluxに/ api/*とVaadinで他のすべてを処理させたいと思います。
AFAIKまだSpring Boot 2用のVaadingスターターはありません。 Spring Boot 2.0は最終的なものではありません(Springプロジェクトでも使用されていません)。 –