I’ve recently had a requirement of setting up the application to work in high-availability environment, which among the others involved hardiness for database (mysql) crash. We established with the customer that we want to have a second database server, where the mysql database mirror will be maintained using master-slave mysql replication. In this model the master mysql server takes care of synchronizing records from itself to the slave server, and the slave server is available in fail-scenario for the application in read-only mode.

Some time ago I wrote few words about some dynamic forms implementation methods using LazyList or AutoPopulatingList with items removing. The problem that interested me today was related to this subject, but concerned something else: how to implement dynamic forms in the way, so that it can be used transparently for any object (even a Hibernate entity) without creating specialized form beans for that.

In the production environment web application debuging is not so easy. Especially because when multiple users perform multiple actions in the same time, the output log is interleaved, and the step-by-step situation is hard to reproduce in development lab. The solution for that can be by injecting user name into the log, and then “grepping” the source log in looking for particular user paths.

If you look for the way of making your expensive algorithm faster, you may consider multithreading and concurrency. You can divide your data into the parts and start threads to handle each part concurrently. This looks easy but sometimes there are some additional requisites that you need to obey doing that.

Solving some interesting problems in the project I’m currently working on I started to analyse following problem: you have a large data set (eg. a file) on which you need to apply some expensive transformation (eg. compression). The key requirement is a performance.

If you like to check how to apply the dynamic form binding to any object (even for Hibernate entities) check my another post.

Browsing internet you can easily find a common method of implementing dynamic forms in JEE world. This is usually done using LazyList from apache commons-collections, or AutoPopulatingList from Spring. I don’t want to repeat these descriptions, you can find nice examples here (using LazyList) or here (using AutoPopulatingList).

Today I’ve had to analyse pretty big XML file, that I couldn’t open in any editor without a hassle. Finally I’ve used comprehensive vim editor, which can handle anything without any problems to view it, but it was useless anyway, because the XML was completely not in human readable format. Then I’ve been looking for some solution to format it or just to display its structure and I’ve found this class from Oracle.

Lately I had to extract something from my old codes as a code example and I found an interesting unit testing solution, that I applied in one of my projects. We had some problems with units testing, because almost each thing for testing required fully initialized runtime application context.