Class MediationPersistenceManager


  • public class MediationPersistenceManager
    extends Object
    Manages all persistence activities related to mediation configuration. Takes care of saving configurations to the file system, registry and updating such configurations as and when necessary. All the mediation components (proxy services, sequences etc) should use this implementation to handle their persistence requirements. This class does not immediately carry out persistence requests. Requests are first queued up and then executed as batch jobs. Therefore admin services which initiate persistence requests does not have to 'wait' for disk and network I/O often associated with persistence activities. This improves the UI response times and system usability in a great deal.
    • Constructor Summary

      Constructors 
      Constructor Description
      MediationPersistenceManager​(String configPath, org.apache.synapse.config.SynapseConfiguration synapseConfiguration, long interval, String configName)
      Initialize the mediation persistence manager instance and start accepting and processing persistence requests.
    • Constructor Detail

      • MediationPersistenceManager

        public MediationPersistenceManager​(String configPath,
                                           org.apache.synapse.config.SynapseConfiguration synapseConfiguration,
                                           long interval,
                                           String configName)
        Initialize the mediation persistence manager instance and start accepting and processing persistence requests. Persistence requests are carried out on the local file system and if required on the registry as well.
        Parameters:
        configPath - Path to the file/directory where configuration should be saved in
        synapseConfiguration - synapse configuration to be used
        interval - The wait time for the mediation persistence worker thread
        configName - Name of the configuration to be used
    • Method Detail

      • destroy

        public void destroy()
      • isInitialized

        public boolean isInitialized()
      • saveItem

        public void saveItem​(String name,
                             int itemType)
        Save changes made to a particular item of the mediation configuration. Changes are saved to the local file system and if required to the registry as well. Types of supported mediation configuration items are defined in ServiceBusConstants. If the item to be saved should be written to its own configuration file, the file name attribute must be set on the item (in the SynapseConfiguration). Leaving the file name as null will cause the item to be persisted into the top level synapse.xml file.
        Parameters:
        name - Name/ID of the configuration item
        itemType - type of the configuration item
      • deleteItem

        public void deleteItem​(String name,
                               String fileName,
                               int itemType)
        Delete a particular item in the saved mediation configuration. Item is removed from the local file system and if required to the registry as well. Types of supported mediation configuration items are defined in ServiceBusConstants.
        Parameters:
        name - Name/ID of the configuration item
        fileName - Name of the file where the item is currently saved in
        itemType - Type of the configuration item
      • saveFullConfiguration

        public void saveFullConfiguration​(boolean registryOnly)
        Make a request to save the complete mediation configuration (the entire SynapseConfiguration) to be saved to the file system and the registry. This will remove all the existing requests already in the job queue and add a single new entry.
        Parameters:
        registryOnly - Whether or not to save the configuration to the registry only
      • addCAppArtifactsAfterPersist

        public void addCAppArtifactsAfterPersist​(org.apache.synapse.config.SynapseConfiguration synapseConfiguration,
                                                 org.apache.synapse.config.SynapseConfiguration cAppConfig)
        Add the CApp artifact configuration to the current configuration, after persist the other artifacts into the default location
        Parameters:
        synapseConfiguration - Current Configuration
        cAppConfig - CApp artifact configuration
      • removeCAppArtifactsBeforePersist

        public org.apache.synapse.config.SynapseConfiguration removeCAppArtifactsBeforePersist​(org.apache.synapse.config.SynapseConfiguration synapseConfiguration)
        Parameters:
        synapseConfiguration - Contains all the configuration includes CApp artifact configs
        Returns:
        new Configuration which removes all the CApp related configs
      • getLock

        protected Lock getLock​(org.apache.axis2.engine.AxisConfiguration axisConfig)