There was an issue #22325 and @jhoeller has fixed it, but now I have the following problem: on the application startup there is a call of prepareRefresh(), so it works like that
this.earlyApplicationListeners = new LinkedHashSet<>(this.applicationListeners);
this.applicationListeners
is an empty collection.
Then it's needed to refresh the Application Context, app provokes the refresh() at AbstractApplicationContext, then Spring calls prepareRefresh and then checks
this.earlyApplicationListeners == null,
but it's an empty LinkedHashSet, not null, it's zero size set, so then it comes to
this.applicationListeners.clear();
and all the listeners are removed, but they were created, so I'm loosing all of applicationListeners there.
Application listeners collection was filled by CXF Servlet code
Comment From: snicoll
@platonovr unfortunately it's hard for us to judge the problem at hand without test cases that demonstrate the problem you've described. Looking at the code you've referenced, you should call addApplicationListener
rather than the reflection-based code.
Please amend your PR with some tests that are failing before your change.
Comment From: pivotal-cla
@platonovr Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.
Comment From: snicoll
I am going to close this now for the reason outlined above. If the feedback is provided, we can reopen this PR and continue the review.