We don't yet use Java's SPI/ServiceLoader mechanism in Solr *itself* yet we benefit from Lucene's embrace of it as seen in our schema (nice short names; no more weird class=solr.XXX). I filed a JIRA and a draft PR that starts to get into this space with one plugin type: https://issues.apache.org/jira/browse/SOLR-17662 Probably SIP-worthy but the draft PR POC shows in practice what it would look like for a partial step in this direction (doesn't extend to configSets or config files). My short-term goal was only to eliminate a static class initializer to avoid a deadlock risk. There's at least a decision to make on how to name the plugins.
~ David Smiley Apache Lucene/Solr Search Developer http://www.linkedin.com/in/davidwsmiley