@ParametersAreNonnullByDefault public class ApplicationConfigurationLicenseStore extends Object implements LicenseStoreInternal
Constructor and Description |
---|
ApplicationConfigurationLicenseStore(com.atlassian.config.ApplicationConfiguration store,
com.atlassian.extras.api.LicenseManager manager) |
Modifier and Type | Method and Description |
---|---|
void |
clearLicenseFromMemory()
Clears the currently installed from memory, causing it to be re-read from persistent the next time
LicenseStore.retrieve() is called. |
void |
install(String licenseString)
This delegates to
ApplicationConfiguration.setProperty(Object, Object) but the underlying code does not
call ApplicationConfiguration.save() and is thus only in memory for the time being. |
void |
installTransiently(String licenseString)
Attempts to install the given license transiently.
|
void |
onRemoteEvent(ClusterEventWrapper wrapper) |
@NonNull com.atlassian.extras.api.AtlassianLicense |
retrieve()
Retrieves the currently installed license.
|
@NonNull Optional<com.atlassian.extras.api.AtlassianLicense> |
retrieveOptional()
Only useful during setup.
|
public ApplicationConfigurationLicenseStore(com.atlassian.config.ApplicationConfiguration store, com.atlassian.extras.api.LicenseManager manager)
public void install(String licenseString)
ApplicationConfiguration.setProperty(Object, Object)
but the underlying code does not
call ApplicationConfiguration.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.
install
in interface LicenseStore
licenseString
- the encrypted licenseLicenseService.validate(String)
public void installTransiently(String licenseString)
LicenseStore
installTransiently
in interface LicenseStore
public void clearLicenseFromMemory()
LicenseStore
LicenseStore.retrieve()
is called. It is provided for testing purposes only.clearLicenseFromMemory
in interface LicenseStore
public @NonNull com.atlassian.extras.api.AtlassianLicense retrieve()
LicenseStore
retrieve
in interface LicenseStore
public @NonNull Optional<com.atlassian.extras.api.AtlassianLicense> retrieveOptional() throws LicenseException
LicenseStoreInternal
retrieveOptional
in interface LicenseStoreInternal
LicenseException
- if the license is set, but cannot be parsed, or if the license store lock cannot be
acquired.@EventListener public void onRemoteEvent(ClusterEventWrapper wrapper)
Copyright © 2003–2019 Atlassian. All rights reserved.