@PostConstruct public void init(){ appInfoManager.registerAppMetadata(metadataService.getMetadata()); }
private void addOrDeleteMetadata(URL url, String category, boolean isAdd) { InstanceInfo instanceInfo = eurekaClient.getApplicationInfoManager().getInfo(); Map<String, String> metadata = instanceInfo.getMetadata(); String metadataCategory = metadata.get(category); try { TreeSet<String> values = StringUtils.isEmpty(metadataCategory) ? new TreeSet<>() : objectMapper.readValue(metadataCategory, stringListTypeReference); if (isAdd) { values.add(url.toString()); } else { values.remove(url.toString()); } metadata.put(category, objectMapper.writeValueAsString(values)); eurekaClient.getApplicationInfoManager().registerAppMetadata(metadata); } catch (IOException e) { e.printStackTrace(); } } }
ApplicationInfoManager.getInstance().registerAppMetadata( dynamic );
/** * Populate Eureka instance metadata with Snitch info. */ public void populate() { try { Map<String, String> metadata = appInfoManager.getEurekaInstanceConfig().getMetadataMap(); metadata.put(CereebroMetadata.KEY_SNITCH_URI, getEndpointUri().toString()); String frag = objectMapper.writeValueAsString(snitch.snitch()); metadata.put(CereebroMetadata.KEY_SNITCH_SYSTEM_FRAGMENT_JSON, frag); // Force meta-data registration, updating only the meta-data map // is not sufficient when the application has already been // registered. appInfoManager.registerAppMetadata(metadata); } catch (IOException e) { throw new SnitchingException(snitch.getUri(), "Error while serializing fragment", e); } }