// spring-boot-auto-configure options: START
:page-partial:
:doctitle: Camel Spring Boot Starter for opentelemetry

== Spring Boot Auto-Configuration

When using opentelemetry with Spring Boot make sure to use the following Maven dependency to have support for auto configuration:

[source,xml]
----
<dependency>
  <groupId>org.apache.camel.springboot</groupId>
  <artifactId>camel-opentelemetry-starter</artifactId>
  <version>x.x.x</version>
  <!-- use the same version as your Camel core version -->
</dependency>
----


The component supports 2 options, which are listed below.



[width="100%",cols="2,5,^1,2",options="header"]
|===
| Name | Description | Default | Type
| *camel.opentelemetry.encoding* | Activate or deactivate dash encoding in headers (required by JMS) for messaging |  | Boolean
| *camel.opentelemetry.exclude-patterns* | Sets exclude pattern(s) that will disable tracing for Camel messages that matches the pattern. |  | Set
|===


// spring-boot-auto-configure options: END
