Migrated from NovaTec Jira. Original ticket: INSPECTIT-1086
Currently we are using Spring 3.1 for the UI which is quite old (with we will update to 3.2.4). However, Spring 4 is already long time out and we should consider updating. In addition we should check what new feature would fit for us, or if we had some specific problem that was not solvable with previous versions.
We should also try to decrease the size of the beans defined in the CMR via XML. With Spring 4 there is easy way for lookup methods or factory created beans.
: Hm.. I don't really know if this is really necessary then. Do I understand it correctly, that just ASM is the problem here? Because if this would be the case, I would rather opt for an own repackaged version (http://asm.ow2.org/doc/faq.html#Q15) which is officially completely supported so that we are always able to use the latest ASM version we want to rather than the one Spring needs on his own.
: I would prefer to go for the update.. First of all we use version that is 3 years old, latest 3.2.x line release was this December, se no reason not to go for the latest that would also solve all problems.. Plus Christoph already worked on kicking out the XML configuration, so I would like to have that as well. Basically as I understood Christoph it's more or less finished and he would just try it out now with 3.2.16 and see if it all works as expected..
I'm not saying that we will never update or anything. What I suggest is that we 1) remove the the risk of upgrading and breaking some parts (as all of the components rely on Spring and thus extensive testing has to be made) and 2) change the approach of ASM so that we use our own one instead of a bundled which comes with some framework and we always have to rely on upgrading the framework if we want to update ASM which is - for such a core part - not a good strategy. If we go with the second way, there is no blocker right now for diagnoseIT and we can focus on more important tasks (again, not saying that we don't want it, just focusing on the right stuff).
Short outline about what to consider when moving to Spring 4.2.
lookup-method injection is recommended to be used only rarely (http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#beans-java-method-injection). We should consider to remove it in our implementation.
For lifecycle call backs it is recommended to use @PostConstruct and @PreDestroy annotations instead of InitilizingBean (http://docs.spring.io/spring/docs/current/spring-framework-reference/htmlsingle/#beans-factory-lifecycle). We have currently a mix of both and I recommend to migrate from InitializingBean to @PostConstruct.
Removed from the sprint as it will not be done in near future.