Package org.apache.solr.rest
Class RestManager
- java.lang.Object
-
- org.apache.solr.rest.RestManager
-
public class RestManager extends Object
Supports runtime mapping of REST API endpoints to ManagedResource implementations; endpoints can be registered at either the /schema or /config base paths, depending on which base path is more appropriate for the type of managed resource.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classRestManager.ManagedEndpointRequest handling needs a lightweight object to delegate a request to.static classRestManager.RegistryPer-core registry of ManagedResources found during core initialization.
-
Field Summary
Fields Modifier and Type Field Description protected org.apache.solr.rest.RestManager.RestManagerManagedResourceendpointprotected SolrResourceLoaderloaderprotected Map<String,ManagedResource>managedstatic StringMANAGED_ENDPOINTprotected RestManager.Registryregistrystatic StringSCHEMA_BASE_PATHprotected ManagedResourceStorage.StorageIOstorageIO
-
Constructor Summary
Constructors Constructor Description RestManager()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ManagedResourceaddManagedResource(String resourceId, Class<? extends ManagedResource> clazz)If not already registered, registers the givenManagedResourcesubclass at the given resourceId, creates an instance.protected ManagedResourcecreateManagedResource(org.apache.solr.rest.RestManager.ManagedResourceRegistration reg)Creates a ManagedResource using registration information.voiddeleteManagedResource(ManagedResource res)Deletes a managed resource if it is not being used by any Solr components.ManagedResourcegetManagedResource(String resourceId)Returns theManagedResourcesubclass instance corresponding to the given resourceId from the registry.ManagedResourcegetManagedResourceOrNull(String resourceId)Returns theManagedResourcesubclass instance corresponding to the given resourceId from the registry, or null if no resource has been registered with the given resourceId.voidinit(SolrResourceLoader loader, org.apache.solr.common.util.NamedList<String> initArgs, ManagedResourceStorage.StorageIO storageIO)Initializes the RestManager with the storageIO being optionally created outside of this implementation such as to use ZooKeeper instead of the local FS.
-
-
-
Field Detail
-
SCHEMA_BASE_PATH
public static final String SCHEMA_BASE_PATH
- See Also:
- Constant Field Values
-
MANAGED_ENDPOINT
public static final String MANAGED_ENDPOINT
- See Also:
- Constant Field Values
-
storageIO
protected ManagedResourceStorage.StorageIO storageIO
-
registry
protected RestManager.Registry registry
-
managed
protected Map<String,ManagedResource> managed
-
endpoint
protected org.apache.solr.rest.RestManager.RestManagerManagedResource endpoint
-
loader
protected SolrResourceLoader loader
-
-
Method Detail
-
init
public void init(SolrResourceLoader loader, org.apache.solr.common.util.NamedList<String> initArgs, ManagedResourceStorage.StorageIO storageIO) throws org.apache.solr.common.SolrException
Initializes the RestManager with the storageIO being optionally created outside of this implementation such as to use ZooKeeper instead of the local FS.- Throws:
org.apache.solr.common.SolrException
-
addManagedResource
public ManagedResource addManagedResource(String resourceId, Class<? extends ManagedResource> clazz)
If not already registered, registers the givenManagedResourcesubclass at the given resourceId, creates an instance. Returns the corresponding instance.
-
createManagedResource
protected ManagedResource createManagedResource(org.apache.solr.rest.RestManager.ManagedResourceRegistration reg) throws org.apache.solr.common.SolrException
Creates a ManagedResource using registration information.- Throws:
org.apache.solr.common.SolrException
-
getManagedResource
public ManagedResource getManagedResource(String resourceId)
Returns theManagedResourcesubclass instance corresponding to the given resourceId from the registry.- Throws:
org.apache.solr.common.SolrException- if no managed resource is registered with the given resourceId.
-
getManagedResourceOrNull
public ManagedResource getManagedResourceOrNull(String resourceId)
Returns theManagedResourcesubclass instance corresponding to the given resourceId from the registry, or null if no resource has been registered with the given resourceId.
-
deleteManagedResource
public void deleteManagedResource(ManagedResource res)
Deletes a managed resource if it is not being used by any Solr components.
-
-