/** * Constructor. */ public EventBusManagerImpl() { Home.getApp().registerPreActivateFunction(this::registerAllSubscribers); }
private static CacheDefinition getCacheDefinition(final String cacheName) { return Home.getApp().getDefinitionSpace().resolve(cacheName, CacheDefinition.class); } }
@Override public Optional<Node> find(final String nodeId) { if (Home.getApp().getConfig().getNodeConfig().getNodeId().equals(nodeId)) { return Optional.of(localNode); } return Optional.empty(); }
@Test void testRegisterNode() { final NodeManager nodeManager = Home.getApp().getComponentSpace().resolve(NodeManager.class); final List<Node> nodesWithDbSkill = nodeManager.locateSkills("db"); final List<Node> nodesWithOtherSkill = nodeManager.locateSkills("other"); // --- Assertions.assertEquals(1, nodesWithDbSkill.size()); Assertions.assertEquals(0, nodesWithOtherSkill.size()); }
@Override public void start() { nodeRegistryPlugin.register(toAppNode(Home.getApp())); }
/** {@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); } }
@Override public void registerPreActivateFunction(final Runnable preActivateFunction) { Assertion.checkArgument(State.STARTING.equals(state), "Applisteners can't be registered at runtime"); Assertion.checkNotNull(preActivateFunction); //----- preActivateFunctions.add(preActivateFunction); }
private static CacheDefinition getCacheDefinition(final String cacheName) { return Home.getApp().getDefinitionSpace().resolve(cacheName, CacheDefinition.class); } }
@Override public Node getCurrentNode() { final String currentNodeId = Home.getApp().getConfig().getNodeConfig().getNodeId(); return find(currentNodeId) .orElseThrow(() -> new VSystemException("Current node with '{0}' cannot be found in the registry", currentNodeId)); }
/** * Construct an instance of DaemonManagerImpl. */ @Inject public DaemonManagerImpl(final AnalyticsManager analyticsManager) { Assertion.checkNotNull(analyticsManager); //--- this.analyticsManager = analyticsManager; Home.getApp().registerPreActivateFunction(this::startAllDaemons); }
@Override public void stop() { nodeRegistryPlugin.unregister(toAppNode(Home.getApp())); }
private static CacheDefinition getCacheDefinition(final String cacheName) { return Home.getApp().getDefinitionSpace().resolve(cacheName, CacheDefinition.class); }
/** * Construct an instance of DaemonManagerImpl. */ @Inject public StartedManagerImpl() { Home.getApp().registerPreActivateFunction(() -> appPreActivated = true); }
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); } }
private void registerAllSubscribers() { subscriptions.addAll(Home.getApp().getDefinitionSpace().getAll(EventBusSubscriptionDefinition.class)); }
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); }
public static List<HealthCheck> getHealthChecks() { return Home.getApp().getDefinitionSpace().getAll(HealthCheckDefinition.class).stream() .map(HealthAnalyticsUtil::buildHealthCheck) .collect(Collectors.toList()); }
/** {@inheritDoc} */ @Override public void init() { //Paramétrage d'un cache spécifique au test /** Parametre du cache, pour une config ou il est multi-session*/ final int maxElementsInMemory = 50000; final int timeToLiveSeconds = 1000; //longévité d'un élément final int timeToIdleSeconds = 10; //longévité d'un élément non utilisé ((DefinitionSpaceWritable) Home.getApp().getDefinitionSpace()) .registerDefinition(new CacheDefinition(CONTEXT_EDITABLE, true, maxElementsInMemory, timeToLiveSeconds, timeToIdleSeconds)); ((DefinitionSpaceWritable) Home.getApp().getDefinitionSpace()) .registerDefinition(new CacheDefinition(CONTEXT_READONLY, false, maxElementsInMemory, timeToLiveSeconds, timeToIdleSeconds)); } }