public void onServerInstanceConnected(@Observes ServerInstanceConnected serverInstanceConnected) { ServerInstance serverInstance = serverInstanceConnected.getServerInstance(); Iterator<Map.Entry<String, KieServicesClient>> iterator = serverTemplatesClients.entrySet().iterator(); while (iterator.hasNext()) { Map.Entry<String, KieServicesClient> entry = iterator.next(); if (entry.getKey().startsWith(serverInstance.getServerTemplateId())) { KieServicesClient client = entry.getValue(); // update regular clients updateOrBuildClient(client, serverInstance); logger.debug("KieServerClient load balancer updated for server template {}", entry.getKey()); } } KieServicesClient adminClient = adminClients.get(serverInstance.getServerTemplateId()); // update admin clients updateOrBuildClient(adminClient, serverInstance); }
protected void updateOrBuildClient(KieServicesClient client, ServerInstance serverInstance) { if (client != null) { LoadBalancer loadBalancer = ((AbstractKieServicesClientImpl) client).getLoadBalancer(); loadBalancer.activate(serverInstance.getUrl()); logger.debug("Server instance {} for server template {} activated on client thus will be used for operations", serverInstance.getUrl(), serverInstance.getServerTemplateId()); } else { logger.debug("No kie server client yet created, attempting to create one for server template {}", serverInstance.getServerTemplateId()); ServerTemplate serverTemplate = specManagementService.getServerTemplate(serverInstance.getServerTemplateId()); buildClientsForServer(serverTemplate); } }
protected void updateOrBuildClient(KieServicesClient client, ServerInstance serverInstance) { if (client != null) { LoadBalancer loadBalancer = ((AbstractKieServicesClientImpl) client).getLoadBalancer(); loadBalancer.activate(serverInstance.getUrl()); logger.debug("Server instance {} for server template {} activated on client thus will be used for operations", serverInstance.getUrl(), serverInstance.getServerTemplateId()); } else { logger.debug("No kie server client yet created, attempting to create one for server template {}", serverInstance.getServerTemplateId()); ServerTemplate serverTemplate = specManagementService.getServerTemplate(serverInstance.getServerTemplateId()); buildClientsForServer(serverTemplate); } }
public void onServerInstanceUpdated( @Observes final ServerInstanceUpdated serverInstanceUpdated ) { if ( serverInstanceUpdated != null && serverInstanceUpdated.getServerInstance() != null ) { final ServerInstance updatedServerInstance = serverInstanceUpdated.getServerInstance(); if ( serverTemplate != null && updatedServerInstance.getServerTemplateId().equals( serverTemplate.getId() ) && !serverInstances.contains( updatedServerInstance.getServerInstanceId() ) ) { addServerInstance( updatedServerInstance ); } } else { logger.warn( "Illegal event argument." ); } }
public void onServerInstanceConnected(@Observes ServerInstanceConnected serverInstanceConnected) { ServerInstance serverInstance = serverInstanceConnected.getServerInstance(); serverTemplatesClients.computeIfPresent(serverInstance.getServerTemplateId(), (serverTemplateId, clients) -> { clients.forEach((key, client) -> { // update regular clients updateOrBuildClient(client, serverInstance); logger.debug("KieServerClient load balancer updated for server template {}", serverTemplateId.equals(SERVER_TEMPLATE_KEY) ? serverInstance.getServerTemplateId() : serverTemplateId); }); return clients; }); serverInstancesById.put(serverInstance.getServerInstanceId(), serverInstance); KieServicesClient adminClient = adminClients.get(serverInstance.getServerTemplateId()); // update admin clients updateOrBuildClient(adminClient, serverInstance); // once all steps are completed successfully notify other parts interested so the serverClient can actually be used serverInstanceRegisteredEvent.fire(new ServerInstanceRegistered(serverInstanceConnected.getServerInstance())); }
public static ServerInstanceKey toKey( final ServerInstance serverInstance ) { return new ServerInstanceKey( serverInstance.getServerTemplateId(), serverInstance.getServerName(), serverInstance.getServerInstanceId(), serverInstance.getUrl() ); }
public void registerInKieServer(@Observes final ServerInstanceConnected serverInstanceConnected) { final ServerInstance serverInstance = serverInstanceConnected.getServerInstance(); final String serverInstanceId = serverInstance.getServerInstanceId(); final String serverTemplateId = serverInstance.getServerTemplateId(); LOGGER.info("Server instance '{}' connected, registering data sets", serverInstanceId);
public void registerInKieServer(@Observes final ServerInstanceRegistered serverInstanceRegistered) { final ServerInstance serverInstance = serverInstanceRegistered.getServerInstance(); final String serverInstanceId = serverInstance.getServerInstanceId(); final String serverTemplateId = serverInstance.getServerTemplateId(); LOGGER.info("Server instance '{}' connected, registering data sets", serverInstanceId);
@Test public void testRegisterKieServerWithProcessCapability() { final ServerInstance serverInstance = new ServerInstance(); serverInstance.setServerInstanceId("instanceId"); serverInstance.setServerTemplateId("templateId"); when(specManagementService.getServerTemplate(serverInstance.getServerTemplateId())).thenReturn(new ServerTemplate(serverInstance.getServerTemplateId(), null, singletonList(Capability.PROCESS.name()), emptyMap(), emptyList())); kieServerDataSetManager.registerInKieServer(new ServerInstanceRegistered(serverInstance)); assertEquals(0, receivedEvents.size()); verify(dataSetDefRegistry).getDataSetDefs(false); }
@Test public void testRegisterKieServerWithProcessCapability() { final ServerInstance serverInstance = new ServerInstance(); serverInstance.setServerInstanceId("instanceId"); serverInstance.setServerTemplateId("templateId"); when(specManagementService.getServerTemplate(serverInstance.getServerTemplateId())).thenReturn(new ServerTemplate(serverInstance.getServerTemplateId(), null, singletonList(Capability.PROCESS.name()), emptyMap(), emptyList())); kieServerDataSetManager.registerInKieServer(new ServerInstanceRegistered(serverInstance)); assertEquals(0, receivedEvents.size()); verify(dataSetDefRegistry).getDataSetDefs(false); }
@Test public void testRegisterKieServerWithoutProcessCapability() { final ServerInstance serverInstance = new ServerInstance(); serverInstance.setServerInstanceId("instanceId"); serverInstance.setServerTemplateId("templateId"); when(specManagementService.getServerTemplate(serverInstance.getServerTemplateId())).thenReturn(new ServerTemplate()); kieServerDataSetManager.registerInKieServer(new ServerInstanceRegistered(serverInstance)); assertEquals(1, receivedEvents.size()); verify(dataSetDefRegistry, never()).getDataSetDefs(false); }
public static void assertContainerFailedEndpoint(final KieServerIntegration kieServerIntegration, final ServerInstance serverInstance, final String containerId) { final KieServicesClient serverClient = kieServerIntegration.getServerClient(serverInstance.getServerTemplateId(), containerId); LoadBalancer loadBalancer = ((AbstractKieServicesClientImpl) serverClient).getLoadBalancer(); assertTrue(loadBalancer.getFailedEndpoints().contains(serverInstance.getUrl())); }
public static void assertServerInstanceFailedEndpoint(final KieServerIntegration kieServerIntegration, final ServerInstance serverInstance) { final KieServicesClient serverClient = kieServerIntegration.getServerClient(serverInstance.getServerTemplateId()); LoadBalancer loadBalancer = ((AbstractKieServicesClientImpl) serverClient).getLoadBalancer(); assertTrue(loadBalancer.getFailedEndpoints().contains(serverInstance.getUrl())); }
public static void assertContainerFailedEndpoint(final KieServerIntegration kieServerIntegration, final ServerInstance serverInstance, final String containerId) { final KieServicesClient serverClient = kieServerIntegration.getServerClient(serverInstance.getServerTemplateId(), containerId); LoadBalancer loadBalancer = ((AbstractKieServicesClientImpl) serverClient).getLoadBalancer(); assertTrue(loadBalancer.getFailedEndpoints().contains(serverInstance.getUrl())); }
@Test public void testRegisterKieServerWithoutProcessCapability() { final ServerInstance serverInstance = new ServerInstance(); serverInstance.setServerInstanceId("instanceId"); serverInstance.setServerTemplateId("templateId"); when(specManagementService.getServerTemplate(serverInstance.getServerTemplateId())).thenReturn(new ServerTemplate()); kieServerDataSetManager.registerInKieServer(new ServerInstanceRegistered(serverInstance)); assertEquals(1, receivedEvents.size()); verify(dataSetDefRegistry, never()).getDataSetDefs(false); }
public static void assertServerInstanceFailedEndpoint(final KieServerIntegration kieServerIntegration, final ServerInstance serverInstance) { final KieServicesClient serverClient = kieServerIntegration.getServerClient(serverInstance.getServerTemplateId()); LoadBalancer loadBalancer = ((AbstractKieServicesClientImpl) serverClient).getLoadBalancer(); assertTrue(loadBalancer.getFailedEndpoints().contains(serverInstance.getUrl())); }
@Test public void testOnServerInstanceUpdated() { final ServerTemplate serverTemplate = new ServerTemplate( "ServerTemplateId", "ServerTemplateName" ); presenter.setup( serverTemplate, null ); assertEquals( serverTemplate, presenter.getCurrentServerTemplate() ); final ServerInstance serverInstance = new ServerInstance( serverTemplate.getId(), "serverName", "serverInstanceId", "url", "1.0", Collections.<Message>emptyList(), Collections.<Container>emptyList() ); presenter.onServerInstanceUpdated( new ServerInstanceUpdated( serverInstance ) ); presenter.onServerInstanceUpdated( new ServerInstanceUpdated( serverInstance ) ); verify( view ).addServerInstance( eq( serverInstance.getServerTemplateId() ), eq( serverInstance.getServerInstanceId() ), eq( serverInstance.getServerName() ), any( Command.class ) ); presenter.onServerInstanceDeleted( new ServerInstanceDeleted( serverInstance.getServerInstanceId() ) ); presenter.onServerInstanceUpdated( new ServerInstanceUpdated( serverInstance ) ); verify( view, times( 2 ) ).addServerInstance( eq( serverInstance.getServerTemplateId() ), eq( serverInstance.getServerInstanceId() ), eq( serverInstance.getServerName() ), any( Command.class ) ); }