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

Reply via email to