@Override public void lifecycleEvent(final InstanceLifecycleEvent event) { final Class<?> implClass = event.getActiveDescriptor().getImplementationClass(); // checking only object creation if (event.getEventType() == InstanceLifecycleEventType.PRE_PRODUCTION) { logger.info("HK2 creates service: {}", implClass.getName()); contextDebugService.hkManage(implClass); } } }
@Override public void lifecycleEvent(final InstanceLifecycleEvent event) { final Class<?> implClass = event.getActiveDescriptor().getImplementationClass(); // checking only object creation if (event.getEventType() == InstanceLifecycleEventType.PRE_PRODUCTION) { logger.info("HK2 creates service: {}", implClass.getName()); contextDebugService.hkManage(implClass); } } }
@SuppressWarnings("unchecked") private void doPostProduction(InstanceLifecycleEvent event) { ActiveDescriptor<?> descriptor = event.getActiveDescriptor(); if (startTimes != null && recordedTimes != null) { Long startupTime = startTimes.remove(descriptor.getImplementation()); if (startupTime == null) return; recordedTimes.put(descriptor.getImplementation(), (System.currentTimeMillis() - startupTime)); } if ((getController().getCurrentRunLevel() > InitRunLevel.VAL) && logger.isLoggable(level)) { logger.log(level, "Service " + descriptor.getImplementation() + " finished " + event.getLifecycleObject()); } if (futures != null) { Object startup = event.getLifecycleObject(); if (startup instanceof FutureProvider) { FutureProvider<Result<Thread>> futureProvider = (FutureProvider<Result<Thread>>) startup; futures.addAll(futureProvider.getFutures()); } } }
@Override public void lifecycleEvent(InstanceLifecycleEvent lifecycleEvent) { if (InstanceLifecycleEventType.PRE_PRODUCTION.equals(lifecycleEvent.getEventType())) { doPreProduction(lifecycleEvent.getActiveDescriptor()); return; } if (InstanceLifecycleEventType.POST_PRODUCTION.equals(lifecycleEvent.getEventType())) { doPostProduction(lifecycleEvent); return; } if (InstanceLifecycleEventType.PRE_DESTRUCTION.equals(lifecycleEvent.getEventType())) { doPreDestruction(lifecycleEvent.getActiveDescriptor()); return; } // All other events ignored }