在我们的Spring Boot 1.4.x(和不同分支中的2.1.x)应用程序以及Spring 4.3.x(另一个分支中的5.1.x)应用程序中存在一些性能问题,该应用程序还使用EclipseLink,Spring Data,Jetty 9.x等。在尝试诊断性能问题时,我们发现在启动过程中打印了一条带有eclipselink.weaving=false
的消息。我在四处搜寻,据一些older EclipseLink documentation看来,我的LAZY
提取实际上是EAGER
,因为我们缺少静态和动态编织。我对事物的状态有些困惑:
Jetty是能够自动提供编织功能的Java EE容器吗?就像文档中建议的Jave EE容器应该那样吗?(我目前的假设是不这样做)。
在寻找解决方案时,我偶然发现了使用-javaagent:eclipselink.jar
的建议。 我们拥有的版本是否还需要这样做?
在测试期间,我必须将EclipseLink Persistence JAR添加到bootclasspath
中才能使EclipseLink代理正常工作。 这是预期的吗?
即使这样做,它仍然抱怨。经过进一步搜索后,我添加了spring-instrument
JAR作为代理。 对吗?我认为以EclipseLink JAR作为代理就足够了。
那时,应用程序似乎正在运行。 您能否提出一种方法来检查LAZY
的获取是否确实是懒惰的?
我更喜欢使用动态编织而不是静态编织。