2017-09-16 6 views
2

私は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で他のすべてを処理させたいと思います。

+0

AFAIKまだSpring Boot 2用のVaadingスターターはありません。 Spring Boot 2.0は最終的なものではありません(Springプロジェクトでも使用されていません)。 –

答えて

1

vaadin-spring-boot-starterは、おそらくspring-boot-starter-web(これはサーブレットコンテナをもたらし、Spring MVCを設定します)です。

同じアプリケーションでSpring MVCとSpring WebFluxの両方を設定することはできません。

関連する問題