AWS X-Ray的AWS 文档目前没有为不使用 Tomcat JDBC 的 Java 项目提供任何解决方案。
为了使用 检测数据库查询spring-boot-data-jpa,您还需要包含 Tomcat JDBC 作为依赖项,并设置一个 Tomcat DataSource 对象以及您的 Hikari 对象,并通过以下任一方式将 XRay 拦截器包含为 JDBC 拦截器:
dataSource.setJdbcInterceptors("com.amazonaws.xray.sql.postgres.TracingInterceptor;");
spring.datasource.jdbc-interceptors=com.amazonaws.xray.sql.postgres.TracingInterceptor
摇篮:
dependencies {
...
implementation 'org.springframework.boot:spring-boot-starter'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation "com.amazonaws:aws-java-sdk-core"
implementation "com.amazonaws:aws-xray-recorder-sdk-core" // Required for core xray features
implementation "com.amazonaws:aws-xray-recorder-sdk-spring" // Required for spring annotations
implementation "com.amazonaws:aws-xray-recorder-sdk-sql-postgres" // required for db callouts
implementation 'org.apache.tomcat:tomcat-jdbc:9.0.31'
...
}
Run Code Online (Sandbox Code Playgroud)
数据库配置(春季):
@Bean(name = "dataSource")
@Primary
@ConfigurationProperties(prefix = "spring.datasource")
public DataSource dataSource() …Run Code Online (Sandbox Code Playgroud)