@Override public synchronized void release() { if (!destroyed) { instance.destroy(); destroyed = true; } }
@Override public synchronized void release() { if (!destroyed) { componentInstance.destroy(); destroyed = true; } }
componentInstance.destroy();
public Object processInvocation(final InterceptorContext context) throws Exception { final ComponentClientInstance instance = context.getPrivateData(ComponentClientInstance.class); final Component component = context.getPrivateData(Component.class); final ComponentInstance componentInstance = component.createInstance(); boolean ok = false; try { context.putPrivateData(ComponentInstance.class, componentInstance); instance.setViewInstanceData(ComponentInstance.class, componentInstance); final Object result = context.proceed(); ok = true; return result; } finally { context.putPrivateData(ComponentInstance.class, null); if (! ok) { componentInstance.destroy(); instance.setViewInstanceData(ComponentInstance.class, null); } } } }
@Override public synchronized void release() { if (!destroyed) { instance.destroy(); destroyed = true; } }
@Override public synchronized void release() { if (!destroyed) { instance.destroy(); destroyed = true; } }
@Override public synchronized void stop(final StopContext context) { if (instance != null) { instance.destroy(); } thread.interrupt(); thread = null; }
public Object processInvocation(final InterceptorContext context) throws Exception { final ComponentInstance componentInstance = componentInstanceReference.get(); context.putPrivateData(ComponentInstance.class, componentInstance); try { return context.proceed(); } finally { context.putPrivateData(ComponentInstance.class, null); componentInstance.destroy(); } } }
public Object processInvocation(final InterceptorContext context) throws Exception { final AtomicReference<ComponentInstance> componentInstanceReference = this.componentInstanceReference; final Component component = context.getPrivateData(Component.class); final ComponentInstance componentInstance = component.createInstance(); boolean ok = false; try { context.putPrivateData(ComponentInstance.class, componentInstance); componentInstanceReference.set(componentInstance); final Object result = context.proceed(); ok = true; return result; } finally { context.putPrivateData(ComponentInstance.class, null); if (! ok) { componentInstance.destroy(); componentInstanceReference.set(null); } } } }
componentInstance.destroy();
public Object processInvocation(final InterceptorContext context) throws Exception { final ComponentClientInstance instance = context.getPrivateData(ComponentClientInstance.class); final Component component = context.getPrivateData(Component.class); final ComponentInstance componentInstance = component.createInstance(); boolean ok = false; try { context.putPrivateData(ComponentInstance.class, componentInstance); instance.setViewInstanceData(ComponentInstance.class, componentInstance); final Object result = context.proceed(); ok = true; return result; } finally { context.putPrivateData(ComponentInstance.class, null); if (! ok) { componentInstance.destroy(); instance.setViewInstanceData(ComponentInstance.class, null); } } } }
public Object processInvocation(final InterceptorContext context) throws Exception { final ComponentClientInstance instance = context.getPrivateData(ComponentClientInstance.class); final Component component = context.getPrivateData(Component.class); final ComponentInstance componentInstance = component.createInstance(); boolean ok = false; try { context.putPrivateData(ComponentInstance.class, componentInstance); instance.setViewInstanceData(ComponentInstance.class, componentInstance); final Object result = context.proceed(); ok = true; return result; } finally { context.putPrivateData(ComponentInstance.class, null); if (! ok) { componentInstance.destroy(); instance.setViewInstanceData(ComponentInstance.class, null); } } } }