acs-aem-commons
acs-aem-commons copied to clipboard
issue #2960 shared-component-properties add support for lazy bindings
This is a hack approach to resolving #2960 in a way that doesn't force a significant change in the supported AEM version.
NOTE: Please see #2964 for non-hacky approach (against the 6.0.0 branch) that bumps the minimum AEM version to 6.5.7 and uses LazyBindings types properly.
Yet to be tested in AEM 6.4, 6.5 < SP7, 6.5 >= SP7, and Cloud Service.
The benefits of this approach:
- Should significantly improve page rendering performance in more recent versions of AEM 6.5 and Cloud Service where SCP is enabled.
- Avoids a rather drastic increase of the minimum supported AEM version for SCP from 6.4.0 to 6.5.7.
- Uses of reflection should be easy to prune without major refactoring when the minimum supported version of the project is raised past 6.5.7.
Codecov Report
Merging #2962 (b560d2a) into master (b881c90) will increase coverage by
0.05%. The diff coverage is83.33%.
@@ Coverage Diff @@
## master #2962 +/- ##
============================================
+ Coverage 54.29% 54.34% +0.05%
- Complexity 5635 5660 +25
============================================
Files 756 756
Lines 30838 30895 +57
Branches 3984 3983 -1
============================================
+ Hits 16744 16791 +47
- Misses 12542 12549 +7
- Partials 1552 1555 +3
| Impacted Files | Coverage Δ | |
|---|---|---|
| ...aredComponentPropertiesBindingsValuesProvider.java | 75.96% <82.05%> (+7.21%) |
:arrow_up: |
| ...ties/shared/impl/SharedPropertiesRequestCache.java | 94.11% <100.00%> (+0.36%) |
:arrow_up: |
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.
Ready for review. @davidjgonzalez @HitmanInWis @joerghoh
This is a real hack[TM].
@adamcin I appreciate the effort you put into this PR to make it somehow work, but I am not sure if this is worth the effort. Maybe we should just wait until ACS AEM Commons drops support for older versions of AEM than AEM 6.5 SP7?
@davidjgonzalez Any plans to cut the support older SPs?
I would suggest requiring 6.5.x for ACS AEM Commons 6
@joerghoh @kwin im all on board with 6.5.x+ for AEM 6.0.0 ... i wouldnt even be adverse to specifying a higher level SP if it provides us more flexibility. One that that comes to mind is if AEM 6.5.x started supporting OSGi R7, which IIRC would let us move fully off Felix SCR without breaking OSGi properties that have - in them (which would be a big back-breaking change for alot of those older services). Havent taken the time to dig into R7 with AEM 6.5 tho to understand where that sits.