public static void removeInstance(String uid, String name, Properties properties) { //TODO: theoretically non-threadsafe... if (name!=null) { log.info("Unbinding factory from JNDI name: " + name); try { Context ctx = NamingHelper.getInitialContext(properties); ctx.unbind(name); log.info("Unbound factory from JNDI name: " + name); } catch (InvalidNameException ine) { log.error("Invalid JNDI name: " + name, ine); } catch (NamingException ne) { log.warn("Could not unbind factory from JNDI", ne); } NAMED_INSTANCES.remove(name); } INSTANCES.remove(uid); }
public static void removeInstance(String uid, String name, Properties properties) { //TODO: theoretically non-threadsafe... if (name!=null) { log.info("Unbinding factory from JNDI name: " + name); try { Context ctx = NamingHelper.getInitialContext(properties); ctx.unbind(name); log.info("Unbound factory from JNDI name: " + name); } catch (InvalidNameException ine) { log.error("Invalid JNDI name: " + name, ine); } catch (NamingException ne) { log.warn("Could not unbind factory from JNDI", ne); } NAMED_INSTANCES.remove(name); } INSTANCES.remove(uid); }
public void objectRemoved(NamingEvent evt) { String name = evt.getOldBinding().getName(); log.info("A factory was unbound from name: " + name); Object instance = NAMED_INSTANCES.remove(name); Iterator iter = INSTANCES.values().iterator(); while ( iter.hasNext() ) { if ( iter.next()==instance ) iter.remove(); } } public void objectRenamed(NamingEvent evt) {
public void objectRemoved(NamingEvent evt) { String name = evt.getOldBinding().getName(); log.info("A factory was unbound from name: " + name); Object instance = NAMED_INSTANCES.remove(name); Iterator iter = INSTANCES.values().iterator(); while ( iter.hasNext() ) { if ( iter.next()==instance ) iter.remove(); } } public void objectRenamed(NamingEvent evt) {
public void objectRenamed(NamingEvent evt) { String name = evt.getOldBinding().getName(); log.info("A factory was renamed from name: " + name); NAMED_INSTANCES.put( evt.getNewBinding().getName(), NAMED_INSTANCES.remove(name) ); } public void namingExceptionThrown(NamingExceptionEvent evt) {
public void objectRenamed(NamingEvent evt) { String name = evt.getOldBinding().getName(); log.info("A factory was renamed from name: " + name); NAMED_INSTANCES.put( evt.getNewBinding().getName(), NAMED_INSTANCES.remove(name) ); } public void namingExceptionThrown(NamingExceptionEvent evt) {