It's been stated that there are problems with early use of ConfigurationService which occasionally force the use of ConfigurationManager, meaning that we continue to carry along two separate configuration sources with different behavior. I plan to delve into the code to understand it more fully, but my current understanding is that this is a consequence of the way that the services framework starts up.
This makes me wonder: why do we have this services framework? I do *not* mean, "why do we have A services framework?" I mean: why do we roll our own, when we use Spring anyway? It seems to me that the main reason was to allow sites to pick either Spring or Guice for dependency injection. I've seen no use of Guice, ever. Do we actually use this flexibility? Does anyone use Guice to knit together DSpace at runtime? I think we could get rid of the chicken/egg problems by doing something radical here: abandon the IMHO unused ability to choose DI frameworks, go with Spring (which would take some work to remove, as things have evolved), and gut the DSpace proprietary services framework in favor of (nearly) equivalent Spring facilities. The services themselves would continue, but the rather amazingly complicated way in which they get found and started would be simplified and reoriented toward knowledge and skills that are more widely used. Let the uproar begin! -- Mark H. Wood, Lead System Programmer [email protected] Machines should not be friendly. Machines should be obedient.
signature.asc
Description: Digital signature
------------------------------------------------------------------------------ Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. This 200-page book is written by three acclaimed leaders in the field. The early access version is available now. Download your free book today! http://p.sf.net/sfu/neotech_d2d_may
_______________________________________________ Dspace-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/dspace-devel
