Context:
Simple java app (not J2EE): IntelliJ IDEA plugin.
This app uses a third party container (propriatery not J2EE) that needs to be bridged into Spring. I use the strategy of creating a StaticApplicationContext to load all singletons created by the third party container and passing it as the parent of my own XML application context.
Problem:
I want to autowire all my beans. Some of my beans refer to beans defined in the StaticApplicationContext. Everything is fine if I use autowiring by name. However the autowiring by type does not work since it doesn't take into account the parent factory.
Thanks for the report! I wasn't aware that this didn't work, and it was not covered by the test suite. I've fixed the lookup for matching beans in DefaultListableBeanFactory, and added a corresponding unit test.
Just perusing the code I believe getBeanOfType and getBeanDefinitions still do not check for ancestors. Is that intended? Maybe they could accept a flag to make that switchable if you want to regain the old behavior.
My rational is that if getBean does check for ancestors beans it would be very surprising for me for the other 2 public methods not to do so.
Just my 2 cents obviously
BTW I am amazed by your turn around. Great job Juergen!
Jacques Morel opened SPR-8 and commented
Context:
Simple java app (not J2EE): IntelliJ IDEA plugin.
This app uses a third party container (propriatery not J2EE) that needs to be bridged into Spring. I use the strategy of creating a StaticApplicationContext to load all singletons created by the third party container and passing it as the parent of my own XML application context.
Problem:
I want to autowire all my beans. Some of my beans refer to beans defined in the StaticApplicationContext. Everything is fine if I use autowiring by name. However the autowiring by type does not work since it doesn't take into account the parent factory.
Affects: 1.0 M3
Attachments:
The text was updated successfully, but these errors were encountered: