Class 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 FedXFactory provides 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
    • Constructor Detail

      • FederationManager

        public FederationManager()
    • Method Detail

      • reset

        public void reset()
        Reset the Scheduler instances, i.e. abort all running threads and create a new scheduler instance.
      • getFederation

        public FedX getFederation()
      • 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 endpoint
        updateStrategy - 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 endpoint
        updateStrategy - optional parameter, to determine if strategy is to be updated, default=true
        Throws:
        RepositoryException
      • removeAll

        public void removeAll()
                       throws RepositoryException
        Remove 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 FedXException
        Shutdown 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