/** * Constructor. */ public EventBusManagerImpl() { Home.getApp().registerPreActivateFunction(this::registerAllSubscribers); }
/** {@inheritDoc} */ @Override public void close() { //En cas d'erreur on essaie de fermer proprement les composants démarrés. Assertion.checkState(state == State.ACTIVE || state == State.STARTING, "App with a state '{0}' can not be be closed", state); state = State.STOPPING; //----- try { appStop(); } catch (final Exception e) { LOGGER.error("an error occured when stopping", e); //Quel que soit l'état, on part en échec de l'arrét. throw WrappedException.wrap(e, "an error occured when stopping"); } finally { state = State.CLOSED; Home.setApp(null); } }
Home.setApp(this); state = State.STARTING;
public static List<HealthCheck> getHealthChecks() { return Home.getApp().getDefinitionSpace().getAll(HealthCheckDefinition.class).stream() .map(HealthAnalyticsUtil::buildHealthCheck) .collect(Collectors.toList()); }
public static List<Metric> getMetrics() { return Home.getApp().getDefinitionSpace().getAll(MetricDefinition.class).stream() .flatMap(metricDefinition -> metricDefinition.getMetricSupplier().get().stream()) .collect(Collectors.toList()); }
private void registerCaches() { Home.getApp().getDefinitionSpace() .getAll(CacheDefinition.class).stream() .forEach(this::registerCache); }
/** * Démarre l'ensemble des démons préalablement enregistré dans le spaceDefinition. */ private void startAllDaemons() { Home.getApp().getDefinitionSpace().getAll(DaemonDefinition.class).stream() .forEach(this::startDaemon); }
private void registerCaches() { Home.getApp().getDefinitionSpace() .getAll(CacheDefinition.class).stream() .forEach(this::registerCache); }
/** * Construct an instance of DaemonManagerImpl. */ @Inject public DaemonManagerImpl(final AnalyticsManager analyticsManager) { Assertion.checkNotNull(analyticsManager); //--- this.analyticsManager = analyticsManager; Home.getApp().registerPreActivateFunction(this::startAllDaemons); }
private void readObject(final ObjectInputStream ois) throws ClassNotFoundException, IOException { //On récupère le nom de la définition definitionName = (String) ois.readObject(); definition = (D) Home.getApp().getDefinitionSpace().resolve(definitionName, Definition.class); } }
@Override public Optional<Node> find(final String nodeId) { if (Home.getApp().getConfig().getNodeConfig().getNodeId().equals(nodeId)) { return Optional.of(localNode); } return Optional.empty(); }
private void registerAllSubscribers() { subscriptions.addAll(Home.getApp().getDefinitionSpace().getAll(EventBusSubscriptionDefinition.class)); }
@Override public List<? extends Definition> provideDefinitions(final DefinitionSpace definitionSpace) { // we need to unwrap the component to scan the real class and not the enhanced version final AopPlugin aopPlugin = Home.getApp().getConfig().getBootConfig().getAopPlugin(); return Home.getApp().getComponentSpace().keySet() .stream() .flatMap(id -> createDaemonDefinitions(Home.getApp().getComponentSpace().resolve(id, Component.class), aopPlugin).stream()) .collect(Collectors.toList()); }
@Override public List<? extends Definition> provideDefinitions(final DefinitionSpace definitionSpace) { // we need to unwrap the component to scan the real class and not the enhanced version final AopPlugin aopPlugin = Home.getApp().getConfig().getBootConfig().getAopPlugin(); return Home.getApp().getComponentSpace().keySet() .stream() .flatMap(id -> createEventSubscriptions(id, Home.getApp().getComponentSpace().resolve(id, Component.class), aopPlugin).stream()) .collect(Collectors.toList()); }
private static CacheDefinition getCacheDefinition(final String cacheName) { return Home.getApp().getDefinitionSpace().resolve(cacheName, CacheDefinition.class); } }
@Override public void start() { nodeRegistryPlugin.register(toAppNode(Home.getApp())); }
@Override public void stop() { nodeRegistryPlugin.unregister(toAppNode(Home.getApp())); }
private static CacheDefinition getCacheDefinition(final String cacheName) { return Home.getApp().getDefinitionSpace().resolve(cacheName, CacheDefinition.class); } }
@Override public List<? extends Definition> provideDefinitions(final DefinitionSpace definitionSpace) { // here all // we need to unwrap the component to scan the real class and not the enhanced version final AopPlugin aopPlugin = Home.getApp().getConfig().getBootConfig().getAopPlugin(); return Home.getApp().getComponentSpace().keySet() .stream() .flatMap(id -> Stream.concat( //health HealthAnalyticsUtil.createHealthCheckDefinitions(id, Home.getApp().getComponentSpace().resolve(id, Component.class), aopPlugin).stream(), //metrics MetricAnalyticsUtil.createMetricDefinitions(id, Home.getApp().getComponentSpace().resolve(id, Component.class), aopPlugin).stream())) .collect(Collectors.toList()); }
private static CacheDefinition getCacheDefinition(final String cacheName) { return Home.getApp().getDefinitionSpace().resolve(cacheName, CacheDefinition.class); }