Previously, if a prototype DataSource bean was defined, Actuator's
metrics and health would try to access an instance of it. At best
this was wasteful as the new instance would only be used for metrics
and health and would not be indicative of the app's DataSource usage.
At worst, it could cause a failure in the unusual case of the
prototype bean definition requiring arguments to be supplied using
ObjectProvider.getObject(Object...) or the like.
This commit address the problem by ignoring prototype DataSource
for metrics and health.
Other types of beans for which Actuator provides metrics and health
are similarly affected. They have not be fixed here as the situation
is so unusual. Should another problem arise in the future, it can be
addressed at that time when there's a clear need.
Closes gh-44706
Update OpenTelemetryResourceAttributes to use StringUtils.uriDecode(...)
as it provides the same functionality as the custom decode(...) method.
See gh-44677
Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
This commit adds the following properties to allow customization
of the BatchSpanProcessor:
- management.tracing.opentelemetry.export.include-unsampled
- management.tracing.opentelemetry.export.timeout
- management.tracing.opentelemetry.export.max-batch-size
- management.tracing.opentelemetry.export.max-queue-size
- management.tracing.opentelemetry.export.schedule-delay
Default values were taken from BatchSpanProcessorBuilder.
See gh-44655
Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>
META-INF/spring.factories and META-INF/spring/aot.factories in the
main source set are now checked. The checks verify that:
- Each class listed in the values exists in the source set's output
- The classes are listed alphabetically
- Nested classes are identified using their binary name
Closes gh-44676
This commit allows EntityManagerFactoryBuilder to provide the JPA
properties to use according to the DataSource used to build the
EntityManagerFactory. Previously the JPA properties were computed only
once based on the primary data source, which was a problem since its
default DDL setting may be different.
EntityManagerFactoryBuilder takes a function that provides the JPA
properties based on a data source, rather than the properties
themselves. Constructors with the previous variant have been deprecated
as a result.
Closes gh-44516
This commit introduces the OpenTelementryAttributes class that fetches
OTEL_RESOURCE_ATTRIBUTES and OTEL_SERVICE_NAME environment variables
and merges it with user-defined resource attributes.
Besides that, this commit includes spec-compliant proper handling of
OTEL_RESOURCE_ATTRIBUTES in OtlpMetricsPropertiesConfigAdapter and
OpenTelemetryAutoConfiguration.
See gh-44394
Signed-off-by: Dmytro Nosan <dimanosan@gmail.com>