Skip to content

Commit

Permalink
Remove deprecated code Micronaut Framework 5 and document breaking ch…
Browse files Browse the repository at this point in the history
…anges. (#712)

closes #697

Co-authored-by: Sergio del Amo <[email protected]>
  • Loading branch information
wetted and sdelamo authored Mar 18, 2024
1 parent 02bd516 commit 1799a58
Show file tree
Hide file tree
Showing 7 changed files with 42 additions and 62 deletions.
15 changes: 15 additions & 0 deletions config/accepted-api-changes.json
Original file line number Diff line number Diff line change
Expand Up @@ -258,5 +258,20 @@
"type": "io.micronaut.configuration.metrics.micrometer.cloudwatch.$CloudWatchMeterRegistryFactory$CloudWatchMeterRegistry2$Definition$Reference",
"member": "Implemented interface io.micronaut.inject.BeanDefinitionReference",
"reason": "use AWS cloud watch client instead of default one"
},
{
"type": "io.micronaut.configuration.metrics.micrometer.cloudwatch.CloudWatchMeterRegistryFactory",
"member": "Constructor io.micronaut.configuration.metrics.micrometer.cloudwatch.CloudWatchMeterRegistryFactory()",
"reason": "Removed deprecated code for Micronaut Framework 5"
},
{
"type": "io.micronaut.configuration.metrics.micrometer.intercept.CountedInterceptor",
"member": "Constructor io.micronaut.configuration.metrics.micrometer.intercept.CountedInterceptor(io.micrometer.core.instrument.MeterRegistry)",
"reason": "Removed deprecated code for Micronaut Framework 5"
},
{
"type": "io.micronaut.configuration.metrics.micrometer.intercept.TimedInterceptor",
"member": "Constructor io.micronaut.configuration.metrics.micrometer.intercept.TimedInterceptor(io.micrometer.core.instrument.MeterRegistry)",
"reason": "Removed deprecated code for Micronaut Framework 5"
}
]
4 changes: 1 addition & 3 deletions gradle.properties
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
projectVersion=5.5.0-SNAPSHOT
projectVersion=6.0.0-SNAPSHOT
projectGroup=io.micronaut.micrometer

micronautSerializationVersion=1.3.2

title=Micronaut Micrometer
projectDesc=Provides integration between Micronaut and Micrometer
projectUrl=https://micronaut.io
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,6 @@
import io.micronaut.core.async.publisher.Publishers;
import io.micronaut.core.convert.ConversionService;
import io.micronaut.core.util.StringUtils;
import jakarta.inject.Inject;
import org.reactivestreams.Publisher;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
Expand All @@ -53,20 +52,10 @@ public class CountedInterceptor implements MethodInterceptor<Object, Object> {
private final MeterRegistry meterRegistry;
private final ConversionService conversionService;

/**
* @param meterRegistry The meter registry
* @deprecated Pass conversion service in new constructor
*/
@Deprecated
public CountedInterceptor(MeterRegistry meterRegistry) {
this(meterRegistry, ConversionService.SHARED);
}

/**
* @param meterRegistry The meter registry
* @param conversionService The conversion service
*/
@Inject
public CountedInterceptor(MeterRegistry meterRegistry, ConversionService conversionService) {
this.meterRegistry = meterRegistry;
this.conversionService = conversionService;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,6 @@
import io.micronaut.core.async.publisher.Publishers;
import io.micronaut.core.convert.ConversionService;
import io.micronaut.core.util.CollectionUtils;
import jakarta.inject.Inject;
import jakarta.inject.Singleton;
import org.HdrHistogram.ConcurrentHistogram;
import org.HdrHistogram.Histogram;
Expand Down Expand Up @@ -81,20 +80,10 @@ public class TimedInterceptor implements MethodInterceptor<Object, Object> {
private final MeterRegistry meterRegistry;
private final ConversionService conversionService;

/**
* @param meterRegistry The meter registry
* @deprecated Pass conversion service in new constructor
*/
@Deprecated
protected TimedInterceptor(MeterRegistry meterRegistry) {
this(meterRegistry, ConversionService.SHARED);
}

/**
* @param meterRegistry The meter registry
* @param conversionService The conversion service
*/
@Inject
protected TimedInterceptor(MeterRegistry meterRegistry, ConversionService conversionService) {
this.meterRegistry = meterRegistry;
this.conversionService = conversionService;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@
import io.micronaut.context.annotation.Factory;
import io.micronaut.context.annotation.Requires;
import io.micronaut.core.annotation.Nullable;
import jakarta.inject.Inject;
import jakarta.inject.Named;
import jakarta.inject.Singleton;
import software.amazon.awssdk.auth.credentials.AwsCredentialsProviderChain;
Expand All @@ -51,31 +50,13 @@ public class CloudWatchMeterRegistryFactory extends AwsClientFactory<CloudWatchC
public static final String CLOUDWATCH_ENABLED = CLOUDWATCH_CONFIG + ".enabled";
public static final String CLOUDWATCH_DEFAULT_NAMESPACE = "micronaut";

@Inject
protected CloudWatchMeterRegistryFactory(AwsCredentialsProviderChain credentialsProvider,
AwsRegionProviderChain regionProvider,
@Nullable UserAgentProvider userAgentProvider,
@Nullable @Named(CloudWatchClient.SERVICE_NAME) AWSServiceConfiguration awsServiceConfiguration) {
super(credentialsProvider, regionProvider, userAgentProvider, awsServiceConfiguration);
}

/**
* @deprecated Use {@link CloudWatchMeterRegistryFactory(AwsCredentialsProviderChain, AwsRegionProviderChain, UserAgentProvider, AWSServiceConfiguration)} instead.
*/
@Deprecated(since = "5.2.0", forRemoval = true)
public CloudWatchMeterRegistryFactory() {
this(AwsCredentialsProviderChain.builder().build(), new AwsRegionProviderChain(), null, null);
}

/**
*
* @deprecated Use {@link #createAsyncBuilder()} instead.
*/
@Deprecated(since = "5.2.0", forRemoval = true)
CloudWatchAsyncClientBuilder cloudWatchAsyncClientBuilder() {
return createAsyncBuilder();
}

@Override
protected CloudWatchClientBuilder createSyncBuilder() {
return CloudWatchClient.builder();
Expand Down Expand Up @@ -115,26 +96,14 @@ public CloudWatchAsyncClient asyncClient(CloudWatchAsyncClientBuilder builder) {
}

/**
* Create a CloudWatchMeterRegistry bean if global metrics are enabled
* and CloudWatch is enabled. Will be true by default when this
* configuration is included in project.
*
* @param builder A {@link CloudWatchAsyncClient} builder.
* @return A {@link CloudWatchAsyncClient}
* @deprecated Use {{@link #asyncClient(CloudWatchAsyncClientBuilder)}} instead.
* @param exportConfigurationProperties The export configuration
* @param cloudWatchAsyncClient The CloudWatch async client
* @return A CloudWatchMeterRegistry
*/
@Deprecated(since = "5.2.0", forRemoval = true)
CloudWatchAsyncClient cloudWatchAsyncClient(CloudWatchAsyncClientBuilder builder) {
return asyncClient(builder);
}


/**
* Create a CloudWatchMeterRegistry bean if global metrics are enabled
* and CloudWatch is enabled. Will be true by default when this
* configuration is included in project.
*
* @param exportConfigurationProperties The export configuration
* @param cloudWatchAsyncClient The CloudWatch async client
* @return A CloudWatchMeterRegistry
*/
@Singleton
CloudWatchMeterRegistry cloudWatchMeterRegistry(ExportConfigurationProperties exportConfigurationProperties,
CloudWatchAsyncClient cloudWatchAsyncClient) {
Expand Down
19 changes: 19 additions & 0 deletions src/main/docs/guide/breaks.adoc
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
This section documents breaking changes between Micronaut Micrometer versions:

=== Micronaut Micrometer 6.0.0

- The factory default constructor for `io.micronaut.configuration.metrics.micrometer.cloudwatch.CloudWatchMeterRegistryFactory` deprecated previously has been removed.
`CloudWatchMeterRegistryFactory(AwsCredentialsProviderChain, AwsRegionProviderChain, UserAgentProvider, AWSServiceConfiguration)` is used instead.

- The `CloudWatchMeterRegistryFactory` factory method `CloudWatchAsyncClientBuilder cloudWatchAsyncClientBuilder()` deprecated previously has been removed.
`CloudWatchClientBuilder createSyncBuilder()` is used instead.

- The `CloudWatchMeterRegistryFactory` factory method `CloudWatchAsyncClient cloudWatchAsyncClient(CloudWatchAsyncClientBuilder)` deprecated previously has been removed.
`CloudWatchClientBuilder asyncClient()` is used instead.

- The bean constructor `io.micronaut.configuration.metrics.micrometer.intercept.CountedInterceptor(MeterRegistry meterRegistry)` deprecated previously has been removed.
`CountedInterceptor(MeterRegistry, ConversionService)` is used instead.

- The Singleton constructor `io.micronaut.configuration.metrics.micrometer.intercept.TimedInterceptor(MeterRegistry)` deprecated previously has been removed.
`TimedInterceptor(MeterRegistry, ConversionService)` is used instead.

1 change: 1 addition & 0 deletions src/main/docs/guide/toc.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,4 +28,5 @@ metricsAndReporters:
metricsAndReportersWavefront: Wavefront Registry
observation: Observation
metricsGuides: Guides
breaks: Breaking Changes
repository: Repository

0 comments on commit 1799a58

Please sign in to comment.