Hello Guys, We use Velocity quite a bit and are considering moving forward and deploying the trunk build in production even though there never was a 2.0 release. We currently use a custom 1.7 build with a couple of bugs fixed by us.
One area where we are going to make some changes before it can go in production is the synchronization in the VelocimacroFactory and VelicimacroManager classes. It appears to be a mix of ConcurrentHashMaps and global synchronized blocks. Our code is highly threaded, loads quite a bit of templates dynamically at run-time and having these global locks would likely present a synchronization hotspot. Our plan is to see if we can cleanup the synchronization in this area keep it robust, but remove the global synchronized blocks. If you guys have any interest in accepting our contribution back please let me know what the process should be. Thank you, Alex