Class ApplicationConfigurationLicenseStore
java.lang.Object
com.atlassian.confluence.license.store.ApplicationConfigurationLicenseStore
- All Implemented Interfaces:
LicenseStoreInternal,LicenseStore
@ParametersAreNonnullByDefault
public class ApplicationConfigurationLicenseStore
extends Object
implements LicenseStoreInternal
-
Constructor Summary
ConstructorsConstructorDescriptionApplicationConfigurationLicenseStore(com.atlassian.config.ApplicationConfiguration store, com.atlassian.extras.api.LicenseManager manager) -
Method Summary
Modifier and TypeMethodDescriptionvoidClears the currently installed from memory, causing it to be re-read from persistent the next timeLicenseStore.retrieve()is called.voidThis delegates toApplicationConfiguration.setProperty(Object, Object)but the underlying code does not callApplicationConfiguration.save()and is thus only in memory for the time being.voidinstallTransiently(String licenseString) Attempts to install the given license transiently.voidonRemoteEvent(ClusterEventWrapper wrapper) @NonNull com.atlassian.extras.api.AtlassianLicenseretrieve()Retrieves the currently installed license.@NonNull Optional<com.atlassian.extras.api.AtlassianLicense> Only useful during setup.
-
Constructor Details
-
ApplicationConfigurationLicenseStore
public ApplicationConfigurationLicenseStore(com.atlassian.config.ApplicationConfiguration store, com.atlassian.extras.api.LicenseManager manager)
-
-
Method Details
-
install
This delegates toApplicationConfiguration.setProperty(Object, Object)but the underlying code does not callApplicationConfiguration.save()and is thus only in memory for the time being.This method does not allow concurrent invocation, thus escaping if one was detected. The reason being is that a concurrent license installation could lead to unexpected behaviour, thus we let the first invocation win and encourage the second one to be re-evaluated before being attempted again.
- Specified by:
installin interfaceLicenseStore- Parameters:
licenseString- the encrypted license- See Also:
-
installTransiently
Description copied from interface:LicenseStoreAttempts to install the given license transiently. It will not publish an event that a new license has been installed. It is provided for testing purposes only.- Specified by:
installTransientlyin interfaceLicenseStore
-
clearLicenseFromMemory
public void clearLicenseFromMemory()Description copied from interface:LicenseStoreClears the currently installed from memory, causing it to be re-read from persistent the next timeLicenseStore.retrieve()is called. It is provided for testing purposes only.- Specified by:
clearLicenseFromMemoryin interfaceLicenseStore
-
retrieve
public @NonNull com.atlassian.extras.api.AtlassianLicense retrieve()Description copied from interface:LicenseStoreRetrieves the currently installed license.- Specified by:
retrievein interfaceLicenseStore- Returns:
- the currently installed license
-
retrieveOptional
public @NonNull Optional<com.atlassian.extras.api.AtlassianLicense> retrieveOptional() throws LicenseExceptionDescription copied from interface:LicenseStoreInternalOnly useful during setup. At all other times, the license is guaranteed to be non-null.- Specified by:
retrieveOptionalin interfaceLicenseStoreInternal- Returns:
- the license, if it's set.
- Throws:
LicenseException- if the license is set, but cannot be parsed, or if the license store lock cannot be acquired.
-
onRemoteEvent
-