RuntimeInstance throws exception on init() but stay with "initializing" state
-----------------------------------------------------------------------------

                 Key: VELOCITY-804
                 URL: https://issues.apache.org/jira/browse/VELOCITY-804
             Project: Velocity
          Issue Type: Bug
          Components: Engine
    Affects Versions: 1.7
         Environment: Linux
            Reporter: Felipe Maschio
             Fix For: 1.7.x


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 
[email protected]@ (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;
                }

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to