Class BootApplicationConfigurationMetadataResolver
java.lang.Object
org.springframework.cloud.dataflow.configuration.metadata.ApplicationConfigurationMetadataResolver
org.springframework.cloud.dataflow.configuration.metadata.BootApplicationConfigurationMetadataResolver
public class BootApplicationConfigurationMetadataResolver
extends ApplicationConfigurationMetadataResolver
An
ApplicationConfigurationMetadataResolver
that knows how to look either
inside Spring Boot uber-jars or an application Container Image's configuration labels.
Supports Boot 1.3 and 1.4+ layouts thanks to a pluggable BootClassLoaderCreation strategy.
Supports Docker and OCI image format for retrieving the metadata.
- Author:
- Eric Bottard, Christian Tzolov, Ilayaperumal Gopinathan, David Turanski
-
Constructor Summary
ConstructorsConstructorDescriptionBootApplicationConfigurationMetadataResolver
(ClassLoader parent, ContainerImageMetadataResolver containerImageMetadataResolver) BootApplicationConfigurationMetadataResolver
(ContainerImageMetadataResolver containerImageMetadataResolver) -
Method Summary
Modifier and TypeMethodDescriptionFor resolvers that support it, create a new ClassLoader that is able to load classes for the given app.listOptionGroups
(Resource app) Return information about option grouping which is coming from an additional metadata files meant to provide more details which options belong together.listPortNames
(Resource app) List<org.springframework.boot.configurationmetadata.ConfigurationMetadataProperty>
listProperties
(org.springframework.boot.loader.archive.Archive archive, boolean exhaustive) List<org.springframework.boot.configurationmetadata.ConfigurationMetadataProperty>
listProperties
(Resource app, boolean exhaustive) Return metadata about configuration properties that are documented via Spring Boot configuration metadata and visible in an app.Methods inherited from class org.springframework.cloud.dataflow.configuration.metadata.ApplicationConfigurationMetadataResolver
listProperties
-
Constructor Details
-
BootApplicationConfigurationMetadataResolver
public BootApplicationConfigurationMetadataResolver(ContainerImageMetadataResolver containerImageMetadataResolver) -
BootApplicationConfigurationMetadataResolver
public BootApplicationConfigurationMetadataResolver(ClassLoader parent, ContainerImageMetadataResolver containerImageMetadataResolver)
-
-
Method Details
-
listProperties
public List<org.springframework.boot.configurationmetadata.ConfigurationMetadataProperty> listProperties(Resource app, boolean exhaustive) Return metadata about configuration properties that are documented via Spring Boot configuration metadata and visible in an app.- Specified by:
listProperties
in classApplicationConfigurationMetadataResolver
- Parameters:
app
- a Spring Cloud Stream app; typically a Boot uberjar, but directories are supported as wellexhaustive
- return all metadata, including common Spring Boot properties- Returns:
- the list of configuration metdata properties
-
listPortNames
- Specified by:
listPortNames
in classApplicationConfigurationMetadataResolver
-
listOptionGroups
Description copied from class:ApplicationConfigurationMetadataResolver
Return information about option grouping which is coming from an additional metadata files meant to provide more details which options belong together. Keys in a map are arbitrary id's and values a full options id's.- Specified by:
listOptionGroups
in classApplicationConfigurationMetadataResolver
- Parameters:
app
- the metadata resource- Returns:
- map of option groups
-
listProperties
public List<org.springframework.boot.configurationmetadata.ConfigurationMetadataProperty> listProperties(org.springframework.boot.loader.archive.Archive archive, boolean exhaustive) -
createAppClassLoader
Description copied from class:ApplicationConfigurationMetadataResolver
For resolvers that support it, create a new ClassLoader that is able to load classes for the given app. The default implementation returns an empty classloader- Overrides:
createAppClassLoader
in classApplicationConfigurationMetadataResolver
- Parameters:
app
- an app to create a ClassLoader for- Returns:
- a new ClassLoader. Callers are responsible for closing the returned class loader.
-