Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changing Routes of the application should work after compiling the class without restarting the server #7070

Closed
6 of 7 tasks
mehdi-vaadin opened this issue Dec 2, 2019 · 2 comments

Comments

@mehdi-vaadin
Copy link
Contributor

mehdi-vaadin commented Dec 2, 2019

When building apps, I want to be able to add new views to my app, and after compiling the (Java) code, be able to open them in the browser, without restarting the server.

Acceptance criteria

  • It should work with jetty-maven-plugin
  • It should work with Hotswap agent
  • It should work with JRebel
  • It should work with spring-dev-tools for Spring apps
  • It should work with Wildfly maven plugin for CDI apps
  • It should work with TomEE maven plugin for CDI apps
  • Deleting a route, adding a new route and renaming a route should be supported

NOTE If initial investigation indicates that any of the servers / tools require changes to make it work, create a new ticket explicitly for this.

@mehdi-vaadin mehdi-vaadin changed the title Adding a new Route to the application should work after compiling the class without restarting the server Changing Routes of the application should work after compiling the class without restarting the server Dec 2, 2019
@pleku pleku moved this from Product backlog to Ready To Go in OLD Vaadin Flow ongoing work (Vaadin 10+) Dec 9, 2019
@pleku pleku moved this from Ready To Go to Product backlog in OLD Vaadin Flow ongoing work (Vaadin 10+) Dec 9, 2019
@FlowTeam2018 FlowTeam2018 moved this from Product backlog to Ready To Go in OLD Vaadin Flow ongoing work (Vaadin 10+) Dec 17, 2019
@pleku pleku removed the blocked label Dec 17, 2019
@joheriks
Copy link
Contributor

Live reload with Wildfly Maven plugin will most likely not be doable without updates to the plugin itself: https://issues.redhat.com/browse/WFMP-71.

@joheriks joheriks self-assigned this Dec 17, 2019
@project-bot project-bot bot moved this from Ready To Go to In progress in OLD Vaadin Flow ongoing work (Vaadin 10+) Dec 17, 2019
@joheriks
Copy link
Contributor

joheriks commented Dec 18, 2019

Result of investigation

All tests by running the corresponding starter app via Maven from IntelliJ (with no additional plugins or non-default settings, except JRebel plugin which was enabled only for JRebel test).

Add: Adding a new view class with a unique @Route annotation. Test passes if the route is navigable.
Update: Change the value of the @Route annotation of an existing class, without renaming the class. Test passes if the new route is navigable, and the route with the previous name is no longer navigable.
Delete: Remove a @Route annotated class that is navigable. Test passes if route is no longer navigable after removal of the class.
Keep session: Whether the session survives the the redeploy cycle.

Add Update Delete Keep session
jetty-maven-plugin auto-scan y y y n
HotSwap agent (jetty) y † n ‡ n y †
JRebel (jetty) y y y y
spring-boot-devtools y y y y
CDI (TomEE) y y n y ❊

†) Works when running Maven's jetty:run from IntelliJ, however, see issue with Hotswap Agent in general (#7174)
‡) The new route gets added, but the old one remains navigable.
❊) Serialization issue in CDI starter fixable by updating starter (see comment in vaadin/skeleton-starter-flow-cdi#137)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
OLD Vaadin Flow ongoing work (Vaadin ...
  
Done - pending release
Development

No branches or pull requests

3 participants