FISH-10049 bugfix: Split CDI bean deployment when multiple WARs exist in an EAR#7032
Conversation
|
@Pandrex247 Do you think you can run the TCK against this PR? Thank you! |
|
@lprimak I ran it through the CDI and EJB TCKs and all seems green 👍 |
|
Thanks, Fantastic! |
1c8a517 to
93071cf
Compare
|
I have found a few issues that I found with "real" applications. |
|
|
89ef769 to
4a79348
Compare
|
Im getting close. "Real" application runs. |
61c4079 to
2471951
Compare
|
Ready to go. Will do #6405 in a separate PR |
|
Now I gotta fix the conflict :) |
|
Once the tests passes I am going to squash the commits and un-draft the PR again |
766eb3e to
d2fbb5a
Compare
|
Ready to go again |
734fc05 to
ad4885b
Compare
975cb97 to
a4f4f36
Compare
|
This one is the head of the backlog now |
|
Reproducer builds fine on Windows, as it looks like, but it won't run. As far as 500 error, I have no idea as I don't have windows. Do you have an exception at least? |
|
These are the log server, but it is not related to your application: But a different error occurs when trying to undeploy: |
|
Yes, that doesn't look at all related. |
@lprimak forget about the 1st issue regarding Windows 11, It was my local maven repo which was corrupted. Now please try to reproduce the Undeploy issue on your local, because this one seems to be related to your changes: |
|
I was able to reproduce the problem. It seems I forgot to re-test my sample app, just more sophisticated ones, |
9362adb to
5475ead
Compare
…I-enabled library JARs
- correctly copy BDA sets for each war in EAR
- Make WAR's CDI beans available in EAR-libs
- read web-fragment.xml from EAR-libs
- processing ear-lib manifest
- de-duplicate BDAs in CDI processing by using LinkedHashSet intead of ArrayList
- made some structures final (cleanup)
- fixed ear and concurrent classloader leaks, including refactored reflection caching
1ce7a13 to
f414137
Compare
|
@luiseufrasio Fixed. Thank you |
luiseufrasio
left a comment
There was a problem hiding this comment.
LGTM! Deploy and Undeploy are ok now. I also did the manual tests and they worked well.
FISH-10049 bugfix: Split CDI bean deployment when multiple WARs exist in an EAR
FISH-10049 bugfix: Split CDI bean deployment when multiple WARs exist in an EAR
FISH-10049 bugfix: Split CDI bean deployment when multiple WARs exist in an EAR
This reverts commit b236c3b.
…I-enabled library JARs (payara#7032) - correctly copy BDA sets for each war in EAR - Make WAR's CDI beans available in EAR-libs - read web-fragment.xml from EAR-libs - processing ear-lib manifest - de-duplicate BDAs in CDI processing by using LinkedHashSet intead of ArrayList - made some structures final (cleanup) - fixed ear and concurrent classloader leaks, including refactored reflection caching enh: loading JARs from <domain_dir>/lib/warlibs if --properies warlibs=true is specified (payara#7097) bugfix: EAR deployment bugs found (payara#7212) - fixed current deployment context - made it a regular thread local, not queue - actually destroy deployment ClassLoader shareableTemp correctly - added fish.payara.ear-combined-cdi-deployment property to force combined EAR CDI deployment - Jax-JS Json-B injection retrives the correct BeanManager based on the actual type of the injection point desired
…I-enabled library JARs (payara#7032) - correctly copy BDA sets for each war in EAR - Make WAR's CDI beans available in EAR-libs - read web-fragment.xml from EAR-libs - processing ear-lib manifest - de-duplicate BDAs in CDI processing by using LinkedHashSet intead of ArrayList - made some structures final (cleanup) - fixed ear and concurrent classloader leaks, including refactored reflection caching enh: loading JARs from <domain_dir>/lib/warlibs if --properies warlibs=true is specified (payara#7097) bugfix: EAR deployment bugs found (payara#7212) - fixed current deployment context - made it a regular thread local, not queue - actually destroy deployment ClassLoader shareableTemp correctly - added fish.payara.ear-combined-cdi-deployment property to force combined EAR CDI deployment - Jax-JS Json-B injection retrives the correct BeanManager based on the actual type of the injection point desired
…I-enabled library JARs (payara#7032) - correctly copy BDA sets for each war in EAR - Make WAR's CDI beans available in EAR-libs - read web-fragment.xml from EAR-libs - processing ear-lib manifest - de-duplicate BDAs in CDI processing by using LinkedHashSet intead of ArrayList - made some structures final (cleanup) - fixed ear and concurrent classloader leaks, including refactored reflection caching enh: loading JARs from <domain_dir>/lib/warlibs if --properies warlibs=true is specified (payara#7097) bugfix: EAR deployment bugs found (payara#7212) - fixed current deployment context - made it a regular thread local, not queue - actually destroy deployment ClassLoader shareableTemp correctly - added fish.payara.ear-combined-cdi-deployment property to force combined EAR CDI deployment - Jax-JS Json-B injection retrives the correct BeanManager based on the actual type of the injection point desired
…I-enabled library JARs (payara#7032) - correctly copy BDA sets for each war in EAR - Make WAR's CDI beans available in EAR-libs - read web-fragment.xml from EAR-libs - processing ear-lib manifest - de-duplicate BDAs in CDI processing by using LinkedHashSet intead of ArrayList - made some structures final (cleanup) - fixed ear and concurrent classloader leaks, including refactored reflection caching enh: loading JARs from <domain_dir>/lib/warlibs if --properies warlibs=true is specified (payara#7097) bugfix: EAR deployment bugs found (payara#7212) - fixed current deployment context - made it a regular thread local, not queue - actually destroy deployment ClassLoader shareableTemp correctly - added fish.payara.ear-combined-cdi-deployment property to force combined EAR CDI deployment - Jax-JS Json-B injection retrives the correct BeanManager based on the actual type of the injection point desired
…I-enabled library JARs (payara#7032) - correctly copy BDA sets for each war in EAR - Make WAR's CDI beans available in EAR-libs - read web-fragment.xml from EAR-libs - processing ear-lib manifest - de-duplicate BDAs in CDI processing by using LinkedHashSet intead of ArrayList - made some structures final (cleanup) - fixed ear and concurrent classloader leaks, including refactored reflection caching enh: loading JARs from <domain_dir>/lib/warlibs if --properies warlibs=true is specified (payara#7097) bugfix: EAR deployment bugs found (payara#7212) - fixed current deployment context - made it a regular thread local, not queue - actually destroy deployment ClassLoader shareableTemp correctly - added fish.payara.ear-combined-cdi-deployment property to force combined EAR CDI deployment - Jax-JS Json-B injection retrives the correct BeanManager based on the actual type of the injection point desired

Description
Bugfix. BeanManager isn't properly constructed when multiple CDI WARs exist in an EAR.
Also allows EAR-libraries to be scanned for CDI annotations
fixes #7031
also fixes #7078
Appears specifically when multiple WARs use OmniFaces
Important Info
This is the head PR in the CDI-performance and modernization sequence.
PRs #7165 and #7097 depend on this PR
Testing
Tested with the failing reproducer
** Needs TCK run