@Override public void lifecycleEvent(final LifecycleEvent event) { if (Lifecycle.AFTER_DESTROY_EVENT.equals(event.getType()) && Server.class.isInstance(event.getData()) && Boolean.getBoolean("talend.component.exit-on-destroy")) { System.exit(0); } } }
@Override public void lifecycleEvent(LifecycleEvent event) { if (Lifecycle.START_EVENT.equals(event.getType())) { event = new LifecycleEvent(event.getLifecycle(), Lifecycle.INIT_EVENT, event.getData()); } else if (Lifecycle.STOP_EVENT.equals(event.getType())) { event = new LifecycleEvent(event.getLifecycle(), Lifecycle.AFTER_STOP_EVENT, event.getData()); } super.lifecycleEvent(event); } }
/** * Use as base to handle start/stop/periodic Events from host. Currently * only log the messages as trace level. * * @see org.apache.catalina.LifecycleListener#lifecycleEvent(org.apache.catalina.LifecycleEvent) */ @Override public void lifecycleEvent(LifecycleEvent lifecycleEvent) { if (log.isTraceEnabled()) log.trace(sm.getString("SimpleTcpCluster.event.log", lifecycleEvent.getType(), lifecycleEvent.getData())); }
/** * Use as base to handle start/stop/periodic Events from host. Currently * only log the messages as trace level. * * @see org.apache.catalina.LifecycleListener#lifecycleEvent(org.apache.catalina.LifecycleEvent) */ @Override public void lifecycleEvent(LifecycleEvent lifecycleEvent) { if (log.isTraceEnabled()) log.trace(sm.getString("SimpleTcpCluster.event.log", lifecycleEvent.getType(), lifecycleEvent.getData())); }
public void convert(final LifecycleEvent le) { final LifecycleTelemetryEvent event = new LifecycleTelemetryEvent(); final Lifecycle source = le.getLifecycle(); if (source != null) { event.setLifeCycle(String.valueOf(source)); if (Context.class.isInstance(source)) { final Context context = Context.class.cast(source); event.setContext(context.getPath()); if (context.getParent() != null) { event.setHost(context.getParent().getName()); } } } if (le.getType() != null) { event.setLifeCycleType(le.getType()); } final Object data = le.getData(); if (data != null) { event.setData(String.valueOf(data)); } if(event.isEnable()) { SystemInstance.get().fireEvent(event); } }
@Test public void withListeners() { this.lifecycleSupport.add(this.lifecycleListener1); this.lifecycleSupport.add(this.lifecycleListener2); this.lifecycleSupport.notify("test-type", this.data); ArgumentCaptor<LifecycleEvent> lifecycleEvents = ArgumentCaptor.forClass(LifecycleEvent.class); verify(this.lifecycleListener1).lifecycleEvent(lifecycleEvents.capture()); verify(this.lifecycleListener2).lifecycleEvent(lifecycleEvents.capture()); for (LifecycleEvent lifecycleEvent : lifecycleEvents.getAllValues()) { assertEquals(this.source, lifecycleEvent.getLifecycle()); assertEquals("test-type", lifecycleEvent.getType()); assertEquals(this.data, lifecycleEvent.getData()); } this.lifecycleSupport.remove(this.lifecycleListener1); this.lifecycleSupport.remove(this.lifecycleListener2); this.lifecycleSupport.notify("test-type", this.data); verifyNoMoreInteractions(this.lifecycleListener1, this.lifecycleListener2); } }