Brian Stansberry [
https://community.jboss.org/people/brian.stansberry] commented on the
document
"Design of AS7 multi-JSF feature"
To view all comments on this document, visit:
https://community.jboss.org/docs/DOC-47689#comment-10945
--------------------------------------------------
I don't see any fundamental issues with this from a patching point of view. The
described process does not modify any existing modules or misc files in the distribution;
it simply adds new modules. Users are free to do this, and application of a subsequent
patch will not blindly disable those modules. A subsequent patch could have one of 3
effects with respect to those modules:
1) The patch doesn't include any modules with the same name and slot as one of these,
nor does it include other modules with the same packages/classes. No problem. The
x.y.z.mojarra-2.2.0-m05 modules will still be loadable.
2) The patch includes a newly added module with the same name and slot as one of these
modules. This is extremely unlikely, given the slot names you are using. But if it did
happen, the patch tool will regard the presence of the user-added module as a patch
conflict and the user will have to include a param to the patch operation stating that the
patch should be applied even though the patch will override a user-modified (in this case,
added) module.
See
https://community.jboss.org/docs/DOC-47500 Single Installation Patching for more on
patch conflict detection and resolution.
3) The patch installs a new module with a different name/slot that contains jars with the
same packages/classes. Now there will be two modules available that provide the same
packages/classes. Which module gets used in a particular situation depends on the context.
If the jsf integration somehow set up a situation where both
javax.faces.api.mojarra-2.2.0-m05 and a javax.faces.api.main that contained different
versions of the same classes were visible, that would probably be an issue (I haven't
thought about it deeply) but that issue has nothing to do with patching. And I assume your
impl was designed to deal with that.
--------------------------------------------------