[ 
https://issues.apache.org/jira/browse/GERONIMO-4549?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12678767#action_12678767
 ] 

Jack Cai commented on GERONIMO-4549:
------------------------------------

So I spend more time to understand the code. Guess I now know the reason why 
Context A is chosen that way (to quickly remove a chain of subcontext which 
only contains the object to be removed). But I still don't get why 
removeNotEmptyContext is set to false in 
org.apache.xbean.naming.context.WritableContext$NestedWritableContext.removeBinding().

I propose 2 fixes as - 

1. Update 
org.apache.xbean.naming.context.WritableContext$NestedWritableContext.removeBinding(),
 new code below (change false to removeNotEmptyContext)
{code}
        protected boolean removeBinding(String name, boolean 
removeNotEmptyContext) throws NamingException {
            if (WritableContext.this.removeBinding(bindingsRef, name, 
removeNotEmptyContext)) {
                return true;
            }
            return super.removeBinding(name, removeNotEmptyContext);
        }
{/code}

2. Update the 
org.apache.xbean.naming.context.AbstractContext.removeDeepBinding() to remove 
the chain of subcontexts one by one starting from the leaf subcontexts, so that 
each subcontext IS empty when being removed and can thus be removed 
successfully even if removeNotEmptyContext is set to false.

Any comments? I'll submit the patch tomorrow. But I'd like to get some advice 
beforehands.


> JMS resource jndi entries are not removed after uninstalling the JMS connect 
> adapter
> ------------------------------------------------------------------------------------
>
>                 Key: GERONIMO-4549
>                 URL: https://issues.apache.org/jira/browse/GERONIMO-4549
>             Project: Geronimo
>          Issue Type: Bug
>      Security Level: public(Regular issues) 
>          Components: ActiveMQ
>    Affects Versions: 2.1.4
>            Reporter: Forrest Xia
>            Priority: Blocker
>             Fix For: 2.1.4, 2.2
>
>
> Steps to reproduce this problem:
> 1. login admin console
> 2. Create a ActiveMQ resource connector with the wizard
> 3. Deploy it and check it is in running state
> 4. Click J2EE connector to uninstall it
> 5. Check JNDI viewer, you will see the JNDI entry still there, even you've 
> uninstalled it.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to