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

Users must choose between debugger HCR and application monitor HCR without assistance from tool #401

Open
scottkurz opened this issue Jun 13, 2023 · 2 comments
Labels
design Design Issues - worthy of wider discussion in Liberty Dev Ex community enhancement New feature or request high priority
Milestone

Comments

@scottkurz
Copy link
Member

A small application may wish to use the default <applicationMonitor> config (polling for updates) in which case a "Hot Code Replace" (HCR)-like experience can be achieved even during a regular (non-Debug) "Start".

OTOH, for a larger app that takes longer (30, 60s, whatever) to restart, this is so slow that the only way to achieve an "HCR" experience will be to rely on the Eclipse Debugger HCR support. In this case the applicationMonitor updateTrigger will need to be set to disabled (or mbean).

So you really can't easily switch between Start or Debug and get HCR in both.

In WDT/LDT this issue was solved by having WDT use the mbean as a trigger....but it would avoid issuing the update notification if you were in Debug mode, letting the faster Debugger HCR do its thing.

This config would look like:
<applicationMonitor dropinsEnabled="false" updateTrigger="mbean" />
and IIUC, was generated as a configDropin by WDT.

NOTE

One caveat, note debugger HCR has limitations, e.g you can't add change/add method signatures.

@scottkurz scottkurz added enhancement New feature or request high priority design Design Issues - worthy of wider discussion in Liberty Dev Ex community labels Jun 13, 2023
@troy-bishop
Copy link

We spoke about this on Slack but I wanted to mention it here so it doesn't get lost. This may or may not be related, but it might also be good to consider how WDT creates the debug launch configuration, rather than always treating it as a 'Remote Java application':

https://github.com/OpenLiberty/open-liberty-tools/blob/1b3dee79881f390b06c3b7a098d710891dbafacf/dev/com.ibm.ws.st.core/src/com/ibm/ws/st/core/internal/launch/BaseLibertyLaunchConfiguration.java#L243

@scottkurz
Copy link
Member Author

No advancement since updating the discussion in the LMP issue here: OpenLiberty/ci.maven#1710 (comment) In the near term some kind of doc, even informal like a Wiki, would be useful.

@scottkurz scottkurz added this to the 23.0.12 milestone Nov 13, 2023
@scottkurz scottkurz modified the milestones: 23.0.12, 24.0.3 Dec 11, 2023
@scottkurz scottkurz modified the milestones: 24.0.3, 24.0.6 Feb 1, 2024
@scottkurz scottkurz modified the milestones: 24.0.6, 24.0.9 Apr 26, 2024
@awisniew90 awisniew90 modified the milestones: 24.0.9, 24.0.12 Sep 24, 2024
@awisniew90 awisniew90 modified the milestones: 24.0.12, 25.0.4 Nov 20, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
design Design Issues - worthy of wider discussion in Liberty Dev Ex community enhancement New feature or request high priority
Projects
Status: Target feature release
Development

No branches or pull requests

3 participants