User development,

A new message was posted in the thread "jBPM 4.3 - Will cause memory leaks due 
to unclosed InitialContext()":

http://community.jboss.org/message/521841#521841

Author  : Santanu Saraswati
Profile : http://community.jboss.org/people/saraswati.santanu

Message:
--------------------------------------------------------------
Martin,
    Did you really faced any OutOfMemoryError because of this?
 
    Typically InitialContext context = new InitialContext() does not take a lot 
of resources and build a new context altogether. InitialContext just works as a 
delegate to the actual initial context created using some environment 
variables/ jndi.properties. When you do a new InitialContext() it asks the 
InitialContextFactory for the actual InitialContext, and it will be suicidal if 
the InitialContextFactory creates a new context whenever somebody calls 
getInitialContext() on it. And I can assure that no proper 
InitialContextFactory implementation does that. So calling close should not be 
required at all.
 
    Now what if I call close? Well the code in IntialContext.java is this:
 
*    public void close() throws NamingException {
        myProps = null;
        if (defaultInitCtx != null) {
            defaultInitCtx.close();
            defaultInitCtx = null;
        }
        gotDefault = false;
    }*
 
    So this closes the defaultInitContext, which is the JNDI context of the 
server. So if I do so, any further initial context lookup in my application is 
going to fail !! It will be interesting to see what happens if I call close. It 
should depend on the implementation and the implementation should understand 
that the real intention is not to close.
 
Regards,
Santanu

--------------------------------------------------------------

To reply to this message visit the message page: 
http://community.jboss.org/message/521841#521841


_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to