-
Notifications
You must be signed in to change notification settings - Fork 91
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
Provide new plugin config to customize applicationMonitor configuration #1710
Comments
Note that we describe this as requiring a new plugin config, but the intended user of this support, Liberty Tools, would probably only ever do so through a property. So it's possibly worth raising the question: would we provide a behavior that was ONLY configurable via property, and NOT via plugin parameter? |
I published a snapshot to Sonatype to test the described behavior using Relevant PRs:
Snapshot Installation:
And make sure to add this under the pom.xml
|
In reviewing this with the broader runtime team, the question was raised: how does WDT/LDT handle an update to a web.xml in debug mode? The reason for focusing on this case is that, as a non-Java change, it would fall outside the scope of the debugger's HCR capabilities to update or replace. As it turns out, doing a test and looking at the source code: it appears that WDT/LDT will actually, in general, still call the mbean to update an app after a change, even with running in debug mode. The handling of Java class file updates is actually a special case in the overall logic, as one can see here: |
Given the last comment, the new, proposed config becomes less immediately useful to Liberty Tools (IDE) function. If we assume that the WDT/LDT-like mbean invocation would be added to Liberty Tools IDEs in the near-term, then this proposal would indeed seem useful. That mbean invocation function could include logic to update or not based on the type of resource (as in LDT/WDT). However, without this mbean invocation function imminent, is it still worth going ahead with this proposal? If we were to go ahead, we would probably make the debug behavior "opt-in", i.e. not the default, making it less useful. Would it be reasonable to doc for a user creating their own updateTrigger config variable and setting it (or not) in their Liberty Tools Run/Debug configs (i.e. using a custom config)? I don't think there is a way to do this that doesn't involve some amt. of a learning curve for someone used to the WDT/LDT approach. BTW, another thing WDT/LDT does is to implement |
**2023-09-27 - DXDI update: ** Decided to wait on merging this function until we have a more complete view of how we'd leverage this in Liberty Tools IDE, which would be a significant enhancement in each IDE, and which still requires some design work.
|
BACKGROUND
(Opening this issue based on what started as an internal, IBM-only discussion here: https://github.ibm.com/liberty-dev-ex/design-issues/issues/16)
As described in this Liberty Tools Eclipse issue, a large app might take so long to restart that a user may want to disable the default "polled" application monitor behavior, and rely on debugger HCR to quickly test the results of the change.
PROPOSAL
A proposed design would be to have a new top-level config (e.g Maven parm/property), say 'appMonitorTrigger', and do do the following:
The generation/deletion would happen at basically the same time (same goals/tasks) that the liberty-plugin-variable-config.xml file is generated today.
The Liberty Tools IDE features can then set this parm accordingly as they launch dev mode, depending on whether a Run or Debug is performed in Liberty Tools.
EXAMPLE
will generate config:
TODO
I believe this will merge with existing config but should double-check
Minor design questions:
The text was updated successfully, but these errors were encountered: