@Override public <T> ListenableFuture<Void> post(final Iterable<T> events) throws IllegalArgumentException { requireNonNull(events, "eventsSupplier is null"); TraceToken token = getCurrentTraceToken(); Request request = preparePost() .setUri(URI.create("v2/event")) .setHeader("User-Agent", nodeInfo.getNodeId()) .setHeader("Content-Type", MEDIA_TYPE_JSON.toString()) .setBodySource((DynamicBodySource) out -> eventWriter.createEventWriter(events.iterator(), token, out)) .build(); return httpClient.executeAsync(request, EVENT_RESPONSE_HANDLER); }
@Inject public Agent(AgentConfig config, HttpServerInfo httpServerInfo, NodeInfo nodeInfo, DeploymentManagerFactory deploymentManagerFactory, LifecycleManager lifecycleManager) { this(nodeInfo.getNodeId(), nodeInfo.getLocation(), config.getSlotsDir(), httpServerInfo.getHttpUri(), httpServerInfo.getHttpExternalUri(), config.getResourcesFile(), deploymentManagerFactory, lifecycleManager, config.getMaxLockWait() ); }
try { NodeInfo nodeInfo = injector.getInstance(NodeInfo.class); log.info("Node ID %s", nodeInfo.getNodeId());
@Override public <T> CheckedFuture<Void, RuntimeException> post(EventGenerator<T> eventGenerator) { checkNotNull(eventGenerator, "eventGenerator is null"); String token = traceTokenManager.getCurrentRequestToken(); List<URI> uris = serviceSelector.selectHttpService(); if (uris.isEmpty()) { return Futures.<Void, RuntimeException>immediateFailedCheckedFuture(new ServiceUnavailableException(serviceSelector.getType(), serviceSelector.getPool())); } // todo this doesn't really work due to returning the future which can fail without being retried Request request = preparePost() .setUri(uris.get(0).resolve("/v2/event")) .setHeader("User-Agent", nodeInfo.getNodeId()) .setHeader("Content-Type", MEDIA_TYPE_JSON.toString()) .setBodyGenerator(new JsonEntityWriter<>(eventWriter, eventGenerator, token)) .build(); return httpClient.executeAsync(request, new EventResponseHandler(serviceSelector.getType(), serviceSelector.getPool())); }