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