init() throws an exception and below is the cause:
Caused by: java.io.FileNotFoundException: velocity.log (Permission denied)
That's ok, I just need to change the permissions on webapps directory from my tomcat. But I needed to restart the server because the "initializing" param is true yet.
This is my sugestion to fix that (just a try{}funally{}):
public synchronized void init()
throws Exception
{
if (!initialized && !initializing)
{
try
{
initializing = true;
log.trace("*******************************************************************");
log.debug("Starting Apache Velocity v@build.version@ (compiled: @build.time@)");
log.trace("RuntimeInstance initializing.");
initializeProperties();
initializeLog();
initializeResourceManager();
initializeDirectives();
initializeEventHandlers();
initializeParserPool();
initializeIntrospection();
/*
* initialize the VM Factory. It will use the properties
* accessable from Runtime, so keep this here at the end.
*/
vmFactory.initVelocimacro();
log.trace("RuntimeInstance successfully initialized.");
}
finally
{
initializing = false;
}
initialized = true;
}