unic / neba

Lightning fast and simple content mapping for Apache Sling and Adobe AEM
https://neba.io
Apache License 2.0
55 stars 14 forks source link

Migrate to Spring 4 #49

Closed olaf-otto closed 8 years ago

olaf-otto commented 9 years ago

Note: Spring 3.2.x is scheduled EOL for December 2016 (https://spring.io/blog/2015/06/15/spring-framework-3-2-x-eol-on-dec-31-2016). We must thus migrate to Spring 4 before.

olaf-otto commented 8 years ago

I've conducted an initial assessment regarding the impact of this change. There are only minor changes required - primarily small API adaptations in the MvcContext. The current update path is this:

Currently, testing this deployment reveals that AEM 6.x ships a bundle that incompletely exposes the fasterxml jackson core libraries. This causes spring-web and spring-webmvc to incompletely import the jackson library, causing a class not found issue when the MvcContext initializes the MVC infrastructure of a blueprint bundle. This issue needs to be fixed. Deploying an updated version of the jackson core bundles does not help but leads to Felix resolving the jackson package imports to both the AEM and jackson bundles.

Also, using subsystems to control import behavior fails - mostly because the subsystem implementation shipped with AEM 6.+ is utterly unstable.

Resulting, it might be necessary to adapt the corresponding Spring bundles to include the jackson core libraries rather than importing them. Perhaps, the maven-shade-plugin is a suitable choice for this task...

olaf-otto commented 8 years ago

I could provide a feature branch with my experiments on the 17th of February - travelling at the moment...

olaf-otto commented 8 years ago

Done! Updated to gemini blueprint 2.0.0 and Spring 4.2.5.