java - Spring boot devtools 和 ActiveJDBC 集成

标签 java spring-boot instrumentation activejdbc spring-boot-devtools

有没有办法集成Spring boot devtools的自动重启功能与 ActiveJDBCinstrumentation功能?

每次模型或数据库发生变化时,也需要提供instrumentation,但是Spring boot的devtools端自动重启时生成的代码是由ActiveJDBC端的instrumentation生成的与代码发生异步,即使是源上的同一个类,也不会匹配,并会给出无法转换的错误。

例如。

class dev.logue.sample.models.User cannot be cast to class dev.logue.sample.models.User (dev.logue.sample.models.User is in unnamed module of loader 'app'; dev.logue.sample.models.User is in unnamed module of loader org.springframework.boot.devtools.restart.classloader.RestartClassLoader

我对Java不太熟悉,有什么方法可以同步这个过程吗?

我的环境:

openjdk version "11.0.6" 2020-01-14 LTS
OpenJDK Runtime Environment Zulu11.37+17-CA (build 11.0.6+10-LTS)
OpenJDK 64-Bit Server VM Zulu11.37+17-CA (build 11.0.6+10-LTS, mixed mode)

最佳答案

self 解决。

显然,spring-devtools.properties 应该显式加载 ActiveJDBC 生成的类。

src/main/resources/META-INF/spring-devtools.properties:

restart.include.activejdbc=/activejdbc-[\\w\\d-\.]+\.jar

错误信息中没有包含activejdbc,所以我认为与插桩后生成的class文件有关。

此外,为了以防万一,模型类在 application.properties 的 Spring devtools 扫描路径中被省略。

src/main/resources/application.properties:

spring.devtools.restart.additional-exclude=src/main/java/dev/logue/sample/models/**

关于java - Spring boot devtools 和 ActiveJDBC 集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60928442/

相关文章:

java - 在运行时检测 java 类以监控性能 --> 是否有工具已经可以做到这一点?

java - 从运行的 JVM 导出数据?

Java 等同于 C++ 复制赋值运算符

java - 在 div 中居中对齐 reCaptcha 元素

intellij-idea - IntelliJ Idea groovy.lang.GroovyRuntimeException : Conflicting module versions

java - SpringBoot JPA hibernate : Error creating bean with name 'entityManagerFactory'

java - 如何用Java模拟MongoDB存储库方法

java - 具有不同 url 但具有相同参数和相同方法功能的请求映射

java - 为什么来自 Maven 依赖项的静态内容在 spring-boot 中提供?

java - 我正在尝试学习用于字节码检测的 java asm 框架,但找不到足够的文档或教程