[ https://issues.apache.org/jira/browse/SOLR-17662?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ASF GitHub Bot updated SOLR-17662: ---------------------------------- Labels: pull-request-available (was: ) > Java SPI/ServiceLoader for plugin discovery & instantiation > ----------------------------------------------------------- > > Key: SOLR-17662 > URL: https://issues.apache.org/jira/browse/SOLR-17662 > Project: Solr > Issue Type: Improvement > Reporter: David Smiley > Priority: Major > Labels: pull-request-available > Time Spent: 10m > Remaining Estimate: 0h > > Java 6 introduced the [Service Provider > Interfaces|https://docs.oracle.com/javase/tutorial/sound/SPI-intro.html] > mechanism, implemented with the ServiceLoader class. As applied to Solr, it > allows a registry of plugin instances of a certain type to be discovered from > the classpath. This obsoletes static hard-coded mappings (see Solr's > TransformerFactory for one), and it allows easy addition of new plugin > instances by others simply by supplying a JAR with metadata, without > requiring modifications to solrconfig.xml or other config files (assuming > zero-config). > A challenge to solve is how to get the basic name of a plugins, e.g. > "subquery" instead of the full classname: > org.apache.solr.response.transform.SubQueryAugmenterFactory > A short term goal could just be Solr's static registries of builtin plugins > using Solr's classpath. Slightly better is using the node level ClassLoader, > thereby using the configurable lib dir. More comprehensive would eventually > allow configSets and the package system somehow. Eventually allow > referencing these plugin names in configuration (class="subquery" or > name="subquery") instead of "solr.SubQueryAugmenterFactory" for explicitly > configuring. The latter should be deprecated despite its use in Solr since > forever. -- This message was sent by Atlassian Jira (v8.20.10#820010) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@solr.apache.org For additional commands, e-mail: issues-h...@solr.apache.org