diff --git a/dubbo-config/dubbo-config-api/pom.xml b/dubbo-config/dubbo-config-api/pom.xml index cf2971ac8e..e57e02cbed 100644 --- a/dubbo-config/dubbo-config-api/pom.xml +++ b/dubbo-config/dubbo-config-api/pom.xml @@ -254,7 +254,7 @@ org.testcontainers testcontainers - 1.19.1 + 1.19.3 test diff --git a/dubbo-config/dubbo-config-spring/pom.xml b/dubbo-config/dubbo-config-spring/pom.xml index 6fe4d6f538..1f201c0b37 100644 --- a/dubbo-config/dubbo-config-spring/pom.xml +++ b/dubbo-config/dubbo-config-spring/pom.xml @@ -28,7 +28,7 @@ The spring config module of dubbo project false - 2.7.17 + 2.7.18 diff --git a/dubbo-demo/dubbo-demo-annotation/pom.xml b/dubbo-demo/dubbo-demo-annotation/pom.xml index 891cfabbf8..d881d55fdc 100644 --- a/dubbo-demo/dubbo-demo-annotation/pom.xml +++ b/dubbo-demo/dubbo-demo-annotation/pom.xml @@ -34,7 +34,7 @@ true - 2.7.17 + 2.7.18 diff --git a/dubbo-demo/dubbo-demo-api/pom.xml b/dubbo-demo/dubbo-demo-api/pom.xml index c469ffdef5..deaf2b0dbd 100644 --- a/dubbo-demo/dubbo-demo-api/pom.xml +++ b/dubbo-demo/dubbo-demo-api/pom.xml @@ -36,7 +36,7 @@ true - 2.7.17 + 2.7.18 diff --git a/dubbo-demo/dubbo-demo-spring-boot/pom.xml b/dubbo-demo/dubbo-demo-spring-boot/pom.xml index 2833598889..ac0e86dfb6 100644 --- a/dubbo-demo/dubbo-demo-spring-boot/pom.xml +++ b/dubbo-demo/dubbo-demo-spring-boot/pom.xml @@ -33,9 +33,9 @@ true - 2.7.17 - 2.7.17 - 1.11.5 + 2.7.18 + 2.7.18 + 1.12.0 diff --git a/dubbo-demo/dubbo-demo-xml/pom.xml b/dubbo-demo/dubbo-demo-xml/pom.xml index f24ac41aa6..4a061ac4e8 100644 --- a/dubbo-demo/dubbo-demo-xml/pom.xml +++ b/dubbo-demo/dubbo-demo-xml/pom.xml @@ -40,7 +40,7 @@ true - 2.7.17 + 2.7.18 diff --git a/dubbo-dependencies-bom/pom.xml b/dubbo-dependencies-bom/pom.xml index 1cd24fde22..ab6073a88b 100644 --- a/dubbo-dependencies-bom/pom.xml +++ b/dubbo-dependencies-bom/pom.xml @@ -93,7 +93,7 @@ 5.3.25 5.8.8 3.29.2-GA - 1.14.9 + 1.14.10 3.2.10.Final 4.1.101.Final 2.2.1 @@ -113,7 +113,7 @@ 3.5.5 0.19.0 4.0.66 - 3.25.0 + 3.25.1 1.3.2 3.1.0 9.4.53.v20231009 @@ -132,14 +132,14 @@ 3.12.0 1.8.0 0.1.35 - 1.11.5 + 1.12.0 1.26.0 2.16.4 - 1.1.6 + 1.2.0 3.3 0.16.0 1.0.4 - 3.5.11 + 3.6.0 2.2.21 3.14.9 @@ -186,7 +186,7 @@ 2.2.7 1.2.0 - 1.19.1 + 1.19.3 0.7.6 3.2.13 1.6.12 @@ -196,7 +196,7 @@ 2.0.6 5.4.3 2.10.1 - 2.15.3 + 2.16.0 6.1.26 2.0 1.5.0 diff --git a/dubbo-plugin/dubbo-compiler/src/main/resources/Dubbo3InterfaceStub.mustache b/dubbo-plugin/dubbo-compiler/src/main/resources/Dubbo3InterfaceStub.mustache index 2764d63e83..15172691bf 100644 --- a/dubbo-plugin/dubbo-compiler/src/main/resources/Dubbo3InterfaceStub.mustache +++ b/dubbo-plugin/dubbo-compiler/src/main/resources/Dubbo3InterfaceStub.mustache @@ -23,7 +23,7 @@ import java.util.concurrent.CompletableFuture; import java.util.concurrent.atomic.AtomicBoolean; {{#deprecated}} - @java.lang.Deprecated +@java.lang.Deprecated {{/deprecated}} public interface {{interfaceClassName}} extends org.apache.dubbo.rpc.model.DubboStub { @@ -40,10 +40,10 @@ public interface {{interfaceClassName}} extends org.apache.dubbo.rpc.model.Dubbo {{#unaryMethods}} {{#javaDoc}} - {{{javaDoc}}} + {{{javaDoc}}} {{/javaDoc}} {{#deprecated}} - @java.lang.Deprecated + @java.lang.Deprecated {{/deprecated}} {{outputType}} {{methodName}}({{inputType}} request); @@ -55,20 +55,20 @@ public interface {{interfaceClassName}} extends org.apache.dubbo.rpc.model.Dubbo {{#serverStreamingMethods}} {{#javaDoc}} - {{{javaDoc}}} + {{{javaDoc}}} {{/javaDoc}} {{#deprecated}} - @java.lang.Deprecated + @java.lang.Deprecated {{/deprecated}} void {{methodName}}({{inputType}} request, org.apache.dubbo.common.stream.StreamObserver<{{outputType}}> responseObserver); {{/serverStreamingMethods}} {{#biStreamingMethods}} {{#javaDoc}} - {{{javaDoc}}} + {{{javaDoc}}} {{/javaDoc}} {{#deprecated}} - @java.lang.Deprecated + @java.lang.Deprecated {{/deprecated}} org.apache.dubbo.common.stream.StreamObserver<{{inputType}}> {{methodName}}(org.apache.dubbo.common.stream.StreamObserver<{{outputType}}> responseObserver); {{/biStreamingMethods}} diff --git a/dubbo-plugin/dubbo-compiler/src/main/resources/Dubbo3TripleInterfaceStub.mustache b/dubbo-plugin/dubbo-compiler/src/main/resources/Dubbo3TripleInterfaceStub.mustache index d4ca6653f9..d31fed7efb 100644 --- a/dubbo-plugin/dubbo-compiler/src/main/resources/Dubbo3TripleInterfaceStub.mustache +++ b/dubbo-plugin/dubbo-compiler/src/main/resources/Dubbo3TripleInterfaceStub.mustache @@ -16,7 +16,7 @@ */ {{#packageName}} - package {{packageName}}; +package {{packageName}}; {{/packageName}} import org.apache.dubbo.common.stream.StreamObserver; @@ -38,41 +38,26 @@ public interface {{interfaceClassName}} extends org.apache.dubbo.rpc.model.Dubbo {{/commonPackageName}} {{#unaryMethods}} {{#javaDoc}} - {{{javaDoc}}} + {{{javaDoc}}} {{/javaDoc}} {{outputType}} {{methodName}}({{inputType}} request); - default CompletableFuture<{{outputType}}> {{methodName}}Async({{inputType}} request){ - return CompletableFuture.completedFuture({{methodName}}(request)); - } + CompletableFuture<{{outputType}}> {{methodName}}Async({{inputType}} request); + - /** - * This server stream type unary method is only used for generated stub to support async unary method. - * It will not be called if you are NOT using Dubbo3 generated triple stub and DO NOT implement this method. - */ - default void {{methodName}}({{inputType}} request, StreamObserver<{{outputType}}> responseObserver){ - {{methodName}}Async(request).whenComplete((r, t) -> { - if (t != null) { - responseObserver.onError(t); - } else { - responseObserver.onNext(r); - responseObserver.onCompleted(); - } - }); - } {{/unaryMethods}} {{#serverStreamingMethods}} {{#javaDoc}} - {{{javaDoc}}} + {{{javaDoc}}} {{/javaDoc}} void {{methodName}}({{inputType}} request, StreamObserver<{{outputType}}> responseObserver); {{/serverStreamingMethods}} {{#biStreamingWithoutClientStreamMethods}} {{#javaDoc}} - {{{javaDoc}}} + {{{javaDoc}}} {{/javaDoc}} StreamObserver<{{inputType}}> {{methodName}}(StreamObserver<{{outputType}}> responseObserver); {{/biStreamingWithoutClientStreamMethods}} @@ -80,7 +65,7 @@ public interface {{interfaceClassName}} extends org.apache.dubbo.rpc.model.Dubbo {{#clientStreamingMethods}} {{#javaDoc}} - {{{javaDoc}}} + {{{javaDoc}}} {{/javaDoc}} StreamObserver<{{inputType}}> {{methodName}}(StreamObserver<{{outputType}}> responseObserver); {{/clientStreamingMethods}} diff --git a/dubbo-plugin/dubbo-compiler/src/main/resources/Dubbo3TripleStub.mustache b/dubbo-plugin/dubbo-compiler/src/main/resources/Dubbo3TripleStub.mustache index af383bdcbc..4ecef4c333 100644 --- a/dubbo-plugin/dubbo-compiler/src/main/resources/Dubbo3TripleStub.mustache +++ b/dubbo-plugin/dubbo-compiler/src/main/resources/Dubbo3TripleStub.mustache @@ -16,7 +16,7 @@ */ {{#packageName}} - package {{packageName}}; +package {{packageName}}; {{/packageName}} import org.apache.dubbo.common.stream.StreamObserver; @@ -125,7 +125,7 @@ public final class {{className}} { {{#unaryMethods}} {{#javaDoc}} - {{{javaDoc}}} + {{{javaDoc}}} {{/javaDoc}} @Override public {{outputType}} {{methodName}}({{inputType}} request){ @@ -137,9 +137,8 @@ public final class {{className}} { } {{#javaDoc}} - {{{javaDoc}}} + {{{javaDoc}}} {{/javaDoc}} - @Override public void {{methodName}}({{inputType}} request, StreamObserver<{{outputType}}> responseObserver){ StubInvocationUtil.unaryCall(invoker, {{methodName}}Method , request, responseObserver); } @@ -147,7 +146,7 @@ public final class {{className}} { {{#serverStreamingMethods}} {{#javaDoc}} - {{{javaDoc}}} + {{{javaDoc}}} {{/javaDoc}} @Override public void {{methodName}}({{inputType}} request, StreamObserver<{{outputType}}> responseObserver){ @@ -157,7 +156,7 @@ public final class {{className}} { {{#biStreamingWithoutClientStreamMethods}} {{#javaDoc}} - {{{javaDoc}}} + {{{javaDoc}}} {{/javaDoc}} @Override public StreamObserver<{{inputType}}> {{methodName}}(StreamObserver<{{outputType}}> responseObserver){ @@ -167,7 +166,7 @@ public final class {{className}} { {{#clientStreamingMethods}} {{#javaDoc}} - {{{javaDoc}}} + {{{javaDoc}}} {{/javaDoc}} @Override public StreamObserver<{{inputType}}> {{methodName}}(StreamObserver<{{outputType}}> responseObserver){ @@ -193,6 +192,30 @@ public final class {{className}} { }; } + {{#unaryMethods}} + @Override + public CompletableFuture<{{outputType}}> {{methodName}}Async({{inputType}} request){ + return CompletableFuture.completedFuture({{methodName}}(request)); + } + {{/unaryMethods}} + + /** + * This server stream type unary method is only used for generated stub to support async unary method. + * It will not be called if you are NOT using Dubbo3 generated triple stub and DO NOT implement this method. + */ + {{#unaryMethods}} + public void {{methodName}}({{inputType}} request, StreamObserver<{{outputType}}> responseObserver){ + {{methodName}}Async(request).whenComplete((r, t) -> { + if (t != null) { + responseObserver.onError(t); + } else { + responseObserver.onNext(r); + responseObserver.onCompleted(); + } + }); + } + {{/unaryMethods}} + @Override public final Invoker<{{interfaceClassName}}> getInvoker(URL url) { PathResolver pathResolver = url.getOrDefaultFrameworkModel() diff --git a/dubbo-registry/dubbo-registry-nacos/src/main/java/org/apache/dubbo/registry/nacos/NacosAggregateListener.java b/dubbo-registry/dubbo-registry-nacos/src/main/java/org/apache/dubbo/registry/nacos/NacosAggregateListener.java index e3e3a90c10..dbabcdc46c 100644 --- a/dubbo-registry/dubbo-registry-nacos/src/main/java/org/apache/dubbo/registry/nacos/NacosAggregateListener.java +++ b/dubbo-registry/dubbo-registry-nacos/src/main/java/org/apache/dubbo/registry/nacos/NacosAggregateListener.java @@ -98,6 +98,6 @@ public class NacosAggregateListener { @Override public int hashCode() { - return Objects.hash(notifyListener, serviceNames, serviceInstances); + return Objects.hash(notifyListener); } } diff --git a/dubbo-spring-boot/dubbo-spring-boot-starters/observability/autoconfigure/src/main/java/org/apache/dubbo/spring/boot/observability/autoconfigure/otel/OpenTelemetryAutoConfiguration.java b/dubbo-spring-boot/dubbo-spring-boot-starters/observability/autoconfigure/src/main/java/org/apache/dubbo/spring/boot/observability/autoconfigure/otel/OpenTelemetryAutoConfiguration.java index 3d9520e115..e8c1ef063e 100644 --- a/dubbo-spring-boot/dubbo-spring-boot-starters/observability/autoconfigure/src/main/java/org/apache/dubbo/spring/boot/observability/autoconfigure/otel/OpenTelemetryAutoConfiguration.java +++ b/dubbo-spring-boot/dubbo-spring-boot-starters/observability/autoconfigure/src/main/java/org/apache/dubbo/spring/boot/observability/autoconfigure/otel/OpenTelemetryAutoConfiguration.java @@ -17,7 +17,9 @@ package org.apache.dubbo.spring.boot.observability.autoconfigure.otel; import org.apache.dubbo.common.Version; -import org.apache.dubbo.common.utils.StringUtils; +import org.apache.dubbo.common.utils.ClassUtils; +import org.apache.dubbo.config.ApplicationConfig; +import org.apache.dubbo.rpc.model.ModuleModel; import org.apache.dubbo.spring.boot.autoconfigure.DubboConfigurationProperties; import org.apache.dubbo.spring.boot.observability.autoconfigure.DubboMicrometerTracingAutoConfiguration; import org.apache.dubbo.spring.boot.observability.autoconfigure.ObservabilityUtils; @@ -27,6 +29,7 @@ import java.util.Collections; import java.util.List; import java.util.stream.Collectors; +import io.opentelemetry.api.common.AttributeKey; import org.springframework.beans.factory.ObjectProvider; import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; @@ -43,57 +46,78 @@ import static org.apache.dubbo.spring.boot.util.DubboUtils.DUBBO_PREFIX; */ @ConditionalOnProperty(prefix = DUBBO_PREFIX, name = "enabled", matchIfMissing = true) @AutoConfiguration( - before = DubboMicrometerTracingAutoConfiguration.class, - afterName = "org.springframework.boot.actuate.autoconfigure.tracing.OpenTelemetryAutoConfiguration") + before = DubboMicrometerTracingAutoConfiguration.class, + afterName = "org.springframework.boot.actuate.autoconfigure.tracing.OpenTelemetryAutoConfiguration") @ConditionalOnDubboTracingEnable @ConditionalOnClass( - name = { - "io.micrometer.tracing.otel.bridge.OtelTracer", - "io.opentelemetry.sdk.trace.SdkTracerProvider", - "io.opentelemetry.api.OpenTelemetry", - "io.micrometer.tracing.SpanCustomizer" - }) + name = { + "io.micrometer.tracing.otel.bridge.OtelTracer", + "io.opentelemetry.sdk.trace.SdkTracerProvider", + "io.opentelemetry.api.OpenTelemetry", + "io.micrometer.tracing.SpanCustomizer" + }) @EnableConfigurationProperties(DubboConfigurationProperties.class) public class OpenTelemetryAutoConfiguration { /** * Default value for application name if {@code spring.application.name} is not set. */ - private static final String DEFAULT_APPLICATION_NAME = "dubbo-application"; + private static final String DEFAULT_APPLICATION_NAME = "application"; private final DubboConfigurationProperties dubboConfigProperties; - OpenTelemetryAutoConfiguration(DubboConfigurationProperties dubboConfigProperties) { + private final ModuleModel moduleModel; + + OpenTelemetryAutoConfiguration(DubboConfigurationProperties dubboConfigProperties, ModuleModel moduleModel) { this.dubboConfigProperties = dubboConfigProperties; + this.moduleModel = moduleModel; } @Bean @ConditionalOnMissingBean io.opentelemetry.api.OpenTelemetry openTelemetry( - io.opentelemetry.sdk.trace.SdkTracerProvider sdkTracerProvider, - io.opentelemetry.context.propagation.ContextPropagators contextPropagators) { + io.opentelemetry.sdk.trace.SdkTracerProvider sdkTracerProvider, + io.opentelemetry.context.propagation.ContextPropagators contextPropagators) { return io.opentelemetry.sdk.OpenTelemetrySdk.builder() - .setTracerProvider(sdkTracerProvider) - .setPropagators(contextPropagators) - .build(); + .setTracerProvider(sdkTracerProvider) + .setPropagators(contextPropagators) + .build(); } @Bean @ConditionalOnMissingBean io.opentelemetry.sdk.trace.SdkTracerProvider otelSdkTracerProvider( - ObjectProvider spanProcessors, - io.opentelemetry.sdk.trace.samplers.Sampler sampler) { - String applicationName = dubboConfigProperties.getApplication().getName(); - if (StringUtils.isEmpty(applicationName)) { - applicationName = DEFAULT_APPLICATION_NAME; + ObjectProvider spanProcessors, + io.opentelemetry.sdk.trace.samplers.Sampler sampler) { + String applicationName = moduleModel + .getApplicationModel() + .getApplicationConfigManager() + .getApplication() + .map(ApplicationConfig::getName) + .orElse(DEFAULT_APPLICATION_NAME); + // Due to https://github.com/micrometer-metrics/tracing/issues/343 + String RESOURCE_ATTRIBUTES_CLASS_NAME = "io.opentelemetry.semconv.ResourceAttributes"; + boolean isLowVersion = !ClassUtils.isPresent( + RESOURCE_ATTRIBUTES_CLASS_NAME, Thread.currentThread().getContextClassLoader()); + AttributeKey serviceNameAttributeKey = AttributeKey.stringKey("service.name"); + String SERVICE_NAME = "SERVICE_NAME"; + + if (isLowVersion) { + RESOURCE_ATTRIBUTES_CLASS_NAME = "io.opentelemetry.semconv.resource.attributes.ResourceAttributes"; + } + try { + serviceNameAttributeKey = (AttributeKey) ClassUtils.resolveClass( + RESOURCE_ATTRIBUTES_CLASS_NAME, + Thread.currentThread().getContextClassLoader()) + .getDeclaredField(SERVICE_NAME) + .get(null); + } catch (Throwable ignored) { } io.opentelemetry.sdk.trace.SdkTracerProviderBuilder builder = - io.opentelemetry.sdk.trace.SdkTracerProvider.builder() - .setSampler(sampler) - .setResource(io.opentelemetry.sdk.resources.Resource.create( - io.opentelemetry.api.common.Attributes.of( - io.opentelemetry.semconv.resource.attributes.ResourceAttributes.SERVICE_NAME, - applicationName))); + io.opentelemetry.sdk.trace.SdkTracerProvider.builder() + .setSampler(sampler) + .setResource(io.opentelemetry.sdk.resources.Resource.create( + io.opentelemetry.api.common.Attributes.of(serviceNameAttributeKey, applicationName))); spanProcessors.orderedStream().forEach(builder::addSpanProcessor); return builder.build(); } @@ -101,35 +125,35 @@ public class OpenTelemetryAutoConfiguration { @Bean @ConditionalOnMissingBean io.opentelemetry.context.propagation.ContextPropagators otelContextPropagators( - ObjectProvider textMapPropagators) { + ObjectProvider textMapPropagators) { return io.opentelemetry.context.propagation.ContextPropagators.create( - io.opentelemetry.context.propagation.TextMapPropagator.composite( - textMapPropagators.orderedStream().collect(Collectors.toList()))); + io.opentelemetry.context.propagation.TextMapPropagator.composite( + textMapPropagators.orderedStream().collect(Collectors.toList()))); } @Bean @ConditionalOnMissingBean io.opentelemetry.sdk.trace.samplers.Sampler otelSampler() { io.opentelemetry.sdk.trace.samplers.Sampler rootSampler = - io.opentelemetry.sdk.trace.samplers.Sampler.traceIdRatioBased( - this.dubboConfigProperties.getTracing().getSampling().getProbability()); + io.opentelemetry.sdk.trace.samplers.Sampler.traceIdRatioBased( + this.dubboConfigProperties.getTracing().getSampling().getProbability()); return io.opentelemetry.sdk.trace.samplers.Sampler.parentBased(rootSampler); } @Bean @ConditionalOnMissingBean io.opentelemetry.sdk.trace.SpanProcessor otelSpanProcessor( - ObjectProvider spanExporters, - ObjectProvider spanExportingPredicates, - ObjectProvider spanReporters, - ObjectProvider spanFilters) { + ObjectProvider spanExporters, + ObjectProvider spanExportingPredicates, + ObjectProvider spanReporters, + ObjectProvider spanFilters) { return io.opentelemetry.sdk.trace.export.BatchSpanProcessor.builder( - new io.micrometer.tracing.otel.bridge.CompositeSpanExporter( - spanExporters.orderedStream().collect(Collectors.toList()), - spanExportingPredicates.orderedStream().collect(Collectors.toList()), - spanReporters.orderedStream().collect(Collectors.toList()), - spanFilters.orderedStream().collect(Collectors.toList()))) - .build(); + new io.micrometer.tracing.otel.bridge.CompositeSpanExporter( + spanExporters.orderedStream().collect(Collectors.toList()), + spanExportingPredicates.orderedStream().collect(Collectors.toList()), + spanReporters.orderedStream().collect(Collectors.toList()), + spanFilters.orderedStream().collect(Collectors.toList()))) + .build(); } @Bean @@ -141,40 +165,40 @@ public class OpenTelemetryAutoConfiguration { @Bean @ConditionalOnMissingBean(io.micrometer.tracing.Tracer.class) io.micrometer.tracing.otel.bridge.OtelTracer micrometerOtelTracer( - io.opentelemetry.api.trace.Tracer tracer, - io.micrometer.tracing.otel.bridge.OtelTracer.EventPublisher eventPublisher, - io.micrometer.tracing.otel.bridge.OtelCurrentTraceContext otelCurrentTraceContext) { + io.opentelemetry.api.trace.Tracer tracer, + io.micrometer.tracing.otel.bridge.OtelTracer.EventPublisher eventPublisher, + io.micrometer.tracing.otel.bridge.OtelCurrentTraceContext otelCurrentTraceContext) { return new io.micrometer.tracing.otel.bridge.OtelTracer( - tracer, + tracer, + otelCurrentTraceContext, + eventPublisher, + new io.micrometer.tracing.otel.bridge.OtelBaggageManager( otelCurrentTraceContext, - eventPublisher, - new io.micrometer.tracing.otel.bridge.OtelBaggageManager( - otelCurrentTraceContext, - this.dubboConfigProperties.getTracing().getBaggage().getRemoteFields(), - Collections.emptyList())); + this.dubboConfigProperties.getTracing().getBaggage().getRemoteFields(), + Collections.emptyList())); } @Bean @ConditionalOnMissingBean io.micrometer.tracing.otel.bridge.OtelPropagator otelPropagator( - io.opentelemetry.context.propagation.ContextPropagators contextPropagators, - io.opentelemetry.api.trace.Tracer tracer) { + io.opentelemetry.context.propagation.ContextPropagators contextPropagators, + io.opentelemetry.api.trace.Tracer tracer) { return new io.micrometer.tracing.otel.bridge.OtelPropagator(contextPropagators, tracer); } @Bean @ConditionalOnMissingBean io.micrometer.tracing.otel.bridge.OtelTracer.EventPublisher otelTracerEventPublisher( - List eventListeners) { + List eventListeners) { return new OTelEventPublisher(eventListeners); } @Bean @ConditionalOnMissingBean io.micrometer.tracing.otel.bridge.OtelCurrentTraceContext otelCurrentTraceContext( - io.micrometer.tracing.otel.bridge.OtelTracer.EventPublisher publisher) { + io.micrometer.tracing.otel.bridge.OtelTracer.EventPublisher publisher) { io.opentelemetry.context.ContextStorage.addWrapper( - new io.micrometer.tracing.otel.bridge.EventPublishingContextWrapper(publisher)); + new io.micrometer.tracing.otel.bridge.EventPublishingContextWrapper(publisher)); return new io.micrometer.tracing.otel.bridge.OtelCurrentTraceContext(); } @@ -203,50 +227,50 @@ public class OpenTelemetryAutoConfiguration { @Bean @ConditionalOnMissingBean @ConditionalOnProperty( - prefix = ObservabilityUtils.DUBBO_TRACING_PROPAGATION, - name = "type", - havingValue = "W3C", - matchIfMissing = true) + prefix = ObservabilityUtils.DUBBO_TRACING_PROPAGATION, + name = "type", + havingValue = "W3C", + matchIfMissing = true) io.opentelemetry.context.propagation.TextMapPropagator w3cTextMapPropagatorWithBaggage( - io.micrometer.tracing.otel.bridge.OtelCurrentTraceContext otelCurrentTraceContext) { + io.micrometer.tracing.otel.bridge.OtelCurrentTraceContext otelCurrentTraceContext) { List remoteFields = - this.dubboConfigProperties.getTracing().getBaggage().getRemoteFields(); + this.dubboConfigProperties.getTracing().getBaggage().getRemoteFields(); return io.opentelemetry.context.propagation.TextMapPropagator.composite( - io.opentelemetry.api.trace.propagation.W3CTraceContextPropagator.getInstance(), - io.opentelemetry.api.baggage.propagation.W3CBaggagePropagator.getInstance(), - new io.micrometer.tracing.otel.propagation.BaggageTextMapPropagator( - remoteFields, - new io.micrometer.tracing.otel.bridge.OtelBaggageManager( - otelCurrentTraceContext, remoteFields, Collections.emptyList()))); + io.opentelemetry.api.trace.propagation.W3CTraceContextPropagator.getInstance(), + io.opentelemetry.api.baggage.propagation.W3CBaggagePropagator.getInstance(), + new io.micrometer.tracing.otel.propagation.BaggageTextMapPropagator( + remoteFields, + new io.micrometer.tracing.otel.bridge.OtelBaggageManager( + otelCurrentTraceContext, remoteFields, Collections.emptyList()))); } @Bean @ConditionalOnMissingBean @ConditionalOnProperty(prefix = ObservabilityUtils.DUBBO_TRACING_PROPAGATION, name = "type", havingValue = "B3") io.opentelemetry.context.propagation.TextMapPropagator b3BaggageTextMapPropagator( - io.micrometer.tracing.otel.bridge.OtelCurrentTraceContext otelCurrentTraceContext) { + io.micrometer.tracing.otel.bridge.OtelCurrentTraceContext otelCurrentTraceContext) { List remoteFields = - this.dubboConfigProperties.getTracing().getBaggage().getRemoteFields(); + this.dubboConfigProperties.getTracing().getBaggage().getRemoteFields(); return io.opentelemetry.context.propagation.TextMapPropagator.composite( - io.opentelemetry.extension.trace.propagation.B3Propagator.injectingSingleHeader(), - new io.micrometer.tracing.otel.propagation.BaggageTextMapPropagator( - remoteFields, - new io.micrometer.tracing.otel.bridge.OtelBaggageManager( - otelCurrentTraceContext, remoteFields, Collections.emptyList()))); + io.opentelemetry.extension.trace.propagation.B3Propagator.injectingSingleHeader(), + new io.micrometer.tracing.otel.propagation.BaggageTextMapPropagator( + remoteFields, + new io.micrometer.tracing.otel.bridge.OtelBaggageManager( + otelCurrentTraceContext, remoteFields, Collections.emptyList()))); } @Bean @ConditionalOnMissingBean @ConditionalOnProperty( - prefix = ObservabilityUtils.DUBBO_TRACING_BAGGAGE_CORRELATION, - name = "enabled", - matchIfMissing = true) + prefix = ObservabilityUtils.DUBBO_TRACING_BAGGAGE_CORRELATION, + name = "enabled", + matchIfMissing = true) io.micrometer.tracing.otel.bridge.Slf4JBaggageEventListener otelSlf4JBaggageEventListener() { return new io.micrometer.tracing.otel.bridge.Slf4JBaggageEventListener(this.dubboConfigProperties - .getTracing() - .getBaggage() - .getCorrelation() - .getFields()); + .getTracing() + .getBaggage() + .getCorrelation() + .getFields()); } } @@ -264,10 +288,10 @@ public class OpenTelemetryAutoConfiguration { @Bean @ConditionalOnMissingBean @ConditionalOnProperty( - prefix = ObservabilityUtils.DUBBO_TRACING_PROPAGATION, - name = "type", - havingValue = "W3C", - matchIfMissing = true) + prefix = ObservabilityUtils.DUBBO_TRACING_PROPAGATION, + name = "type", + havingValue = "W3C", + matchIfMissing = true) io.opentelemetry.api.trace.propagation.W3CTraceContextPropagator w3cTextMapPropagatorWithoutBaggage() { return io.opentelemetry.api.trace.propagation.W3CTraceContextPropagator.getInstance(); } diff --git a/dubbo-spring-boot/dubbo-spring-boot-starters/observability/pom.xml b/dubbo-spring-boot/dubbo-spring-boot-starters/observability/pom.xml index 6fb61862f5..90bf570069 100644 --- a/dubbo-spring-boot/dubbo-spring-boot-starters/observability/pom.xml +++ b/dubbo-spring-boot/dubbo-spring-boot-starters/observability/pom.xml @@ -36,9 +36,9 @@ - 1.11.5 - 1.1.6 - 1.31.0 + 1.12.0 + 1.2.0 + 1.32.0 2.16.4 0.16.0 diff --git a/dubbo-spring-boot/pom.xml b/dubbo-spring-boot/pom.xml index 2cb2846207..30cfd6cc63 100644 --- a/dubbo-spring-boot/pom.xml +++ b/dubbo-spring-boot/pom.xml @@ -39,9 +39,9 @@ - 2.7.17 + 2.7.18 - 1.14.9 + 1.14.10 4.11.0 diff --git a/pom.xml b/pom.xml index 1a05cb1d4b..2391d78eb1 100644 --- a/pom.xml +++ b/pom.xml @@ -268,7 +268,7 @@ org.codehaus.mojo build-helper-maven-plugin - 3.4.0 + 3.5.0 org.fusesource.hawtjni