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
Constructors Constructor Description ApplicationConfigurationLicenseStore(com.atlassian.config.ApplicationConfiguration store, com.atlassian.extras.api.LicenseManager manager)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclearLicenseFromMemory()Clears the currently installed from memory, causing it to be re-read from persistent the next timeLicenseStore.retrieve()is called.voidinstall(String licenseString)This 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>retrieveOptional()Only useful during setup.
-
-
-
Method Detail
-
install
public void install(String licenseString)
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:
LicenseService.validate(String)
-
installTransiently
public void installTransiently(String licenseString)
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 LicenseException
Description 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
@EventListener public void onRemoteEvent(ClusterEventWrapper wrapper)
-
-