In the past we have had installations that were moved to a different team, with contacts who were unknown to us. When they applied for support it was hard to identify their subscription and this caused needless administrative delays.
The subscription files contain your maven user account name. This helps us identify your subscription and installation details upon support requests.
These subscription files are named as follows:
For production use you need to install a valid pair of subscription files.
These subscription files are named as follows:
You can install these in 2 ways:
subscription_folder mechanisms described above are available.
In addition to the file-based mechanisms above, you can supply your subscription content programmatically or from an in-memory source, without ever writing the subscription files to disk. This is useful if your subscription content is resolved from a secrets vault (e.g. Azure Key Vault, HashiCorp Vault, AWS Secrets Manager) or another runtime source, and you want to keep license material out of the filesystem entirely.
com.atomikos.icatch.config.SubscriptionContentProvider and register your instance before Atomikos starts:
Configuration.setSubscriptionContentProvider(myProvider);Atomikos calls your provider at startup to obtain the subscription properties and signature as
InputStream=s. You are responsible for constructing your provider with whatever client and credentials it needs to reach your vault or source -- Atomikos does not instantiate or configure it for you, the same pattern used for registering a custom =XADataSource.
If you don't need a custom provider class, set these two system properties to the base64-encoded content of your subscription properties and signature files:
com.atomikos.icatch.subscription_properties_base64
com.atomikos.icatch.subscription_signature_base64
Populate them with your own secrets tooling (for example, a Kubernetes Secret or a Vault agent) before the JVM starts. This only keeps license material off the filesystem if the base64 value itself is injected at runtime -- don't hardcode it into a script or file that ends up persisted on disk or committed to version control.
If more than one mechanism is configured, Atomikos resolves subscription content in this order:
SubscriptionContentProvider
com.atomikos.icatch.subscription_folder file location
subscription_folder mechanisms, where Atomikos looks for the files by their fixed names. It does not apply to the SPI or base64 options -- there, you control how the content reaches Atomikos, so no fixed filenames are involved.