EclipseLink с динамическим переплетением в Spring Boot 1.4.x (и 2.1.x) + Jetty - PullRequest
0 голосов
/ 26 апреля 2019

У нас есть некоторые проблемы с производительностью в нашем приложении Spring Boot 1.4.x (и 2.1.x в другой ветке) с Spring 4.3.x (и 5.1.x в другой ветке), которое также использует EclipseLink, Spring Data, Jetty9.x и т. Д. Пока мы пытались диагностировать проблемы с производительностью, которые у нас были, мы обнаружили, что во время запуска было напечатано сообщение с eclipselink.weaving=false.Я искал вокруг, и мне кажется, согласно некоторой старой документации EclipseLink , что наши LAZY выборки на самом деле EAGER, потому что мы пропускаем как статическое, так и динамическое плетение.Я немного смущен положением вещей:

  • Является ли Jetty типом контейнера Java EE, который автоматически обеспечивает возможность переплетения, как в документации предполагают, что контейнеры Jave EE должны? (Мое текущее предположение состоит в том, что это не так.)

  • При поиске решений я наткнулся на предложения по использованию -javaagent:eclipselink.jar. Это все еще необходимо для версий, которые у нас есть?

  • Во время моего тестирования мне пришлось добавить EclipseLink Persistence JAR в bootclasspath, чтобы агент EclipseLink работал. Ожидается ли это?

  • Даже после этого он все еще жаловался.После некоторых дальнейших поисков я добавил spring-instrument JAR в качестве агента. Это правильно? Я думал, что EclipseLink JAR в качестве агента должно быть достаточно.

  • В этот момент приложение, похоже, работает. Можете ли вы предложить способ проверки того, что LAZY выборки действительно ленивы?

Я предпочитаю использовать динамическое плетение вместо статического.

...