Ok, so the Spring Framework allows for a high level of code re-use. Great.
You use simple XML files to layout the flow of applications in Spring. This allows for easy configuration of systems. Great.
You now have a high amount of very atomic code/routines that are put together as needed to implement specific functions. However, if something goes wrong you can not easily find the problem. Again, due to the large amount of atomic, small routines that have been pasted together.
Log files are likely useless, as they will point out what happens at the lower level.
The only thing we have found is to log ‘events’ as specially executed code functions at the XML, config layer so we trap the higher level functions attempted to be performed at a specific time.
Other ideas would be great.
Uncategorized
Debugging, Java, Spring
We have been (completely) rewriting a fairly large Java app using the Spring framework. One of the developers had previous experience that became the core for the new system.
As one of the developers working on the existing systems I have subsequently been added on to the swarm working on the new app.
At first look, Spring reminds you of older IBM configuration files: every step is laid out in an XML file. I guess that works, as most systems are very XML cogniscent. I was somewhat overwhelmed by the amount of detail, at first. I had though this to be a very complex undertaking.
Then talking this over with the architect, it became apparent that Spring really just breaks down your code into very atomic units. What is at first overwhelming becomes more apparent to be a complete specification for an application: every step, function is laid out in explicit detail.
That becomes tha ‘Aha’ moment. Any developed code fits into the xml ‘path’ of the application. I still think it’s amazing seeing that much of the guts of an application laid out so cleanly.
Uncategorized
Java, Spring