Package org.eclipse.rdf4j.federated
Class FederationManager
- java.lang.Object
-
- org.eclipse.rdf4j.federated.FederationManager
-
public class FederationManager extends Object
The FederationManager manages all modules necessary for the runtime behavior. This includes for instance the federation layer instance, cache and statistics. It is Singleton and there can only be on federation instance at a time.The factory
FedXFactoryprovides various functions for initialization of FedX and should be used as the entry point for any application using FedX.Config.initialize(fedxConfig); List<Endpoint> members = ... // e.g. use EndpointFactory methods FedXRepository repo = FedXFactory.initializeFederation(endpoints); ReositoryConnection conn = repo.getConnection(); // Do something with the connection, e.g. query evaluation repo.shutDown();
- Author:
- Andreas Schwarte
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classFederationManager.FederationTypeThe Federation type definition: Local, Remote, Hybrid
-
Constructor Summary
Constructors Constructor Description FederationManager()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddAll(List<Endpoint> endpoints)Add the specified endpoints to the federation and take care for updating all structures.voidaddEndpoint(Endpoint e, boolean... updateStrategy)Add the specified endpoint to the federation.WorkerUnionBase<BindingSet>createWorkerUnion(QueryInfo queryInfo)Create an appropriate worker union for this federation, i.e.ExecutorgetExecutor()Returns the managedExecutorwhich takes for properly handling any configuredFedXConfig.getTaskWrapper()FedXgetFederation()FederationManager.FederationTypegetFederationType()ControlledWorkerScheduler<BindingSet>getJoinScheduler()ControlledWorkerScheduler<BindingSet>getLeftJoinScheduler()ControlledWorkerScheduler<BindingSet>getUnionScheduler()voidinit(FedX federation, FederationContext federationContext)voidremoveAll()Remove all endpoints from the federation, e.g.voidremoveEndpoint(Endpoint e, boolean... updateStrategy)Remove the specified endpoint from the federation.voidreset()Reset theSchedulerinstances, i.e.voidshutDown()Shutdown the federation including the following operations:
-
-
-
Method Detail
-
init
public void init(FedX federation, FederationContext federationContext)
-
reset
public void reset()
Reset theSchedulerinstances, i.e. abort all running threads and create a new scheduler instance.
-
getExecutor
public Executor getExecutor()
Returns the managedExecutorwhich takes for properly handling any configuredFedXConfig.getTaskWrapper()
-
getFederation
public FedX getFederation()
-
getJoinScheduler
public ControlledWorkerScheduler<BindingSet> getJoinScheduler()
-
getLeftJoinScheduler
public ControlledWorkerScheduler<BindingSet> getLeftJoinScheduler()
-
getUnionScheduler
public ControlledWorkerScheduler<BindingSet> getUnionScheduler()
-
getFederationType
public FederationManager.FederationType getFederationType()
-
addEndpoint
public void addEndpoint(Endpoint e, boolean... updateStrategy) throws FedXRuntimeException
Add the specified endpoint to the federation. The federation must not contain a member with the same endpoint location.- Parameters:
e- the endpointupdateStrategy- optional parameter, to determine if strategy is to be updated, default=true- Throws:
FedXRuntimeException- if the federation has already a member with the same location
-
addAll
public void addAll(List<Endpoint> endpoints)
Add the specified endpoints to the federation and take care for updating all structures.- Parameters:
endpoints- a list of endpoints to add
-
removeEndpoint
public void removeEndpoint(Endpoint e, boolean... updateStrategy) throws RepositoryException
Remove the specified endpoint from the federation.- Parameters:
e- the endpointupdateStrategy- optional parameter, to determine if strategy is to be updated, default=true- Throws:
RepositoryException
-
removeAll
public void removeAll() throws RepositoryExceptionRemove all endpoints from the federation, e.g. to load a new preset. Repositories of the endpoints are shutDown, and the EndpointManager is added accordingly.- Throws:
RepositoryException
-
shutDown
public void shutDown() throws FedXExceptionShutdown the federation including the following operations:- shut down repositories of all federation members
- persist the cached information
- clear the endpoint manager
- Throws:
FedXException- if an error occurs while shutting down the federation
-
createWorkerUnion
public WorkerUnionBase<BindingSet> createWorkerUnion(QueryInfo queryInfo)
Create an appropriate worker union for this federation, i.e. a synchronous worker union for local federations and a multithreaded worker union for remote & hybrid federations.- Returns:
- the
WorkerUnionBase - See Also:
ControlledWorkerUnion,SynchronousWorkerUnion
-
-