eclipselink.weaving属性可选值、差异及编译期织入配置选择
eclipselink.weaving 属性可选值及含义
所有支持的取值及对应说明
true(默认值):开启动态织入能力,EclipseLink 会在运行阶段通过字节码修改技术对实体类等目标类执行织入,实现延迟加载、变更跟踪、Fetch Group 等优化特性,使用该值要求当前运行环境支持字节码动态修改(比如配置了 Java agent、运行在适配的应用服务中)。false:完全关闭织入能力,EclipseLink 既不会在运行期执行动态织入,也不会识别构建阶段预织入的类字节码,所有依赖织入实现的优化特性都会失效,性能会出现明显下降,仅在特殊兼容场景下使用。static:启用静态织入模式,EclipseLink 会直接使用构建阶段预织入完成的类文件,不需要在运行期执行动态字节码修改逻辑,无需运行环境支持字节码动态修改,性能损耗比动态织入更低,适合对启动速度、运行性能要求较高的场景。
编译期织入场景配置建议
你使用 com.ethlo.persistence.tools:eclipselink-maven-plugin 实现编译期静态织入的场景下,应该将 eclipselink.weaving 设置为 static,不要设置为 false。
如果配置为 false,即使你已经通过 Maven 插件在构建阶段完成了类的织入操作,EclipseLink 也会完全忽略这些预织入的字节码逻辑,相当于织入的优化效果完全不生效。只有配置为 static 才能让 EclipseLink 识别并使用提前织入好的字节码,获得静态织入对应的全部优化能力。
内容的提问来源于stack exchange,提问作者rMonteiro
相关产品推荐
相关产品推荐

