Life is Too Short for Endless Restarts
Many developers starting with Alfresco development are frustrated with the slow development cycle when working on core Alfresco customizations like policies, webscripts and actions. (as was I a year ago) When writing java backed customisations, restarting the Alfresco server is often a necessity. Annotation driven behaviour is something developers have long been accustomed to via projects like Spring MVC whereas Alfresco strongly relies on Spring xml configuration.
Enter the https://github.com/lfridael/dynamic-extensions-for-alfresco project. Built upon the eclipse Gemini project, which in turn, is based on the proven OSGI technology, this extension for Alfresco allows developers to integrate the deployment of their customizations directly into their build. Instead of minutes, it only takes seconds to deploy java backend webscripts or policies. All this is enabled by the OSGI. This module system allows loading new code at runtime via a system of custom classloaders. The nice thing about dynamic extensions, is that the developer does not even have to be aware of how this works (Ok, gotcha's do exist). As an added bonus, developers can choose between classic Spring configuration or annotation driven IOC configuration.