Java 类javax.ws.rs.client.InvocationCallback 实例源码
项目:Mastering-Java-EE-Development-with-WildFly
文件:ReceiveMessagesTestCase.java
private MyResult invokeCallbackString(String url) {
Client client = newClient();
WebTarget target = client.target(url);
final AsyncInvoker asyncInvoker = target.request().async();
final MyResult myResponse = new MyResult();
asyncInvoker.get(new InvocationCallback<String>() {
@Override
public void completed(String response) {
myResponse.setResponse(response);
myResponse.setOk(true);
}
@Override
public void failed(Throwable arg0) {
myResponse.setResponse(arg0.getMessage());
myResponse.setOk(false);
}
});
try {
sleep(2000);
} catch (InterruptedException e) {
logger.log(SEVERE, "error", e);
}
return myResponse;
}
项目:Mastering-Java-EE-Development-with-WildFly
文件:ReceiveMessagesTestCase.java
private MyResult invokeCallbackResponse(String url) {
Client client = newClient();
WebTarget target = client.target(url);
final AsyncInvoker asyncInvoker = target.request().async();
final MyResult myResponse = new MyResult();
asyncInvoker.get(new InvocationCallback<Response>() {
@Override
public void completed(Response response) {
myResponse.setResponse(response.readEntity(String.class));
myResponse.setOk(response.hasEntity());
}
@Override
public void failed(Throwable arg0) {
myResponse.setResponse(arg0.getMessage());
myResponse.setOk(false);
}
});
try {
sleep(2000);
} catch (InterruptedException e) {
logger.log(SEVERE, "error", e);
}
return myResponse;
}
项目:ee8-sandbox
文件:AsyncClient.java
private static InvocationCallback<Response> responseInvocationCallback() {
return new InvocationCallback<Response>() {
@Override
public void completed(Response res) {
System.out.println("Status:" + res.getStatusInfo());
System.out.println("Entity:" + res.getEntity());
System.out.println("Request success!");
}
@Override
public void failed(Throwable e) {
System.out.println("Request failed!");
}
};
}
项目:incubator-pulsar
文件:PersistentTopicsImpl.java
@Override
public CompletableFuture<PartitionedTopicMetadata> getPartitionedTopicMetadataAsync(String destination) {
DestinationName ds = validateTopic(destination);
final CompletableFuture<PartitionedTopicMetadata> future = new CompletableFuture<>();
asyncGetRequest(persistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("partitions"),
new InvocationCallback<PartitionedTopicMetadata>() {
@Override
public void completed(PartitionedTopicMetadata response) {
future.complete(response);
}
@Override
public void failed(Throwable throwable) {
future.completeExceptionally(getApiException(throwable.getCause()));
}
});
return future;
}
项目:incubator-pulsar
文件:PersistentTopicsImpl.java
@Override
public CompletableFuture<List<String>> getSubscriptionsAsync(String destination) {
DestinationName ds = validateTopic(destination);
final CompletableFuture<List<String>> future = new CompletableFuture<>();
asyncGetRequest(persistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("subscriptions"),
new InvocationCallback<List<String>>() {
@Override
public void completed(List<String> response) {
future.complete(response);
}
@Override
public void failed(Throwable throwable) {
future.completeExceptionally(getApiException(throwable.getCause()));
}
});
return future;
}
项目:incubator-pulsar
文件:PersistentTopicsImpl.java
@Override
public CompletableFuture<PersistentTopicStats> getStatsAsync(String destination) {
DestinationName ds = validateTopic(destination);
final CompletableFuture<PersistentTopicStats> future = new CompletableFuture<>();
asyncGetRequest(persistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("stats"),
new InvocationCallback<PersistentTopicStats>() {
@Override
public void completed(PersistentTopicStats response) {
future.complete(response);
}
@Override
public void failed(Throwable throwable) {
future.completeExceptionally(getApiException(throwable.getCause()));
}
});
return future;
}
项目:incubator-pulsar
文件:PersistentTopicsImpl.java
@Override
public CompletableFuture<PersistentTopicInternalStats> getInternalStatsAsync(String destination) {
DestinationName ds = validateTopic(destination);
final CompletableFuture<PersistentTopicInternalStats> future = new CompletableFuture<>();
asyncGetRequest(persistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("internalStats"),
new InvocationCallback<PersistentTopicInternalStats>() {
@Override
public void completed(PersistentTopicInternalStats response) {
future.complete(response);
}
@Override
public void failed(Throwable throwable) {
future.completeExceptionally(getApiException(throwable.getCause()));
}
});
return future;
}
项目:incubator-pulsar
文件:PersistentTopicsImpl.java
@Override
public CompletableFuture<JsonObject> getInternalInfoAsync(String destination) {
DestinationName ds = validateTopic(destination);
final CompletableFuture<JsonObject> future = new CompletableFuture<>();
asyncGetRequest(persistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("internal-info"),
new InvocationCallback<String>() {
@Override
public void completed(String response) {
JsonObject json = new Gson().fromJson(response, JsonObject.class);
future.complete(json);
}
@Override
public void failed(Throwable throwable) {
future.completeExceptionally(getApiException(throwable.getCause()));
}
});
return future;
}
项目:incubator-pulsar
文件:PersistentTopicsImpl.java
@Override
public CompletableFuture<PartitionedTopicStats> getPartitionedStatsAsync(String destination,
boolean perPartition) {
DestinationName ds = validateTopic(destination);
final CompletableFuture<PartitionedTopicStats> future = new CompletableFuture<>();
asyncGetRequest(
persistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("partitioned-stats"),
new InvocationCallback<PartitionedTopicStats>() {
@Override
public void completed(PartitionedTopicStats response) {
if (!perPartition) {
response.partitions.clear();
}
future.complete(response);
}
@Override
public void failed(Throwable throwable) {
future.completeExceptionally(getApiException(throwable.getCause()));
}
});
return future;
}
项目:incubator-pulsar
文件:PersistentTopicsImpl.java
private CompletableFuture<List<Message>> peekNthMessage(String destination, String subName, int messagePosition) {
DestinationName ds = validateTopic(destination);
String encodedSubName = Codec.encode(subName);
final CompletableFuture<List<Message>> future = new CompletableFuture<List<Message>>();
asyncGetRequest(persistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("subscription")
.path(encodedSubName).path("position").path(String.valueOf(messagePosition)),
new InvocationCallback<Response>() {
@Override
public void completed(Response response) {
try {
future.complete(getMessageFromHttpResponse(response));
} catch (Exception e) {
future.completeExceptionally(getApiException(e));
}
}
@Override
public void failed(Throwable throwable) {
future.completeExceptionally(getApiException(throwable.getCause()));
}
});
return future;
}
项目:incubator-pulsar
文件:NonPersistentTopicsImpl.java
@Override
public CompletableFuture<PartitionedTopicMetadata> getPartitionedTopicMetadataAsync(String destination) {
DestinationName ds = validateTopic(destination);
final CompletableFuture<PartitionedTopicMetadata> future = new CompletableFuture<>();
asyncGetRequest(nonPersistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("partitions"),
new InvocationCallback<PartitionedTopicMetadata>() {
@Override
public void completed(PartitionedTopicMetadata response) {
future.complete(response);
}
@Override
public void failed(Throwable throwable) {
future.completeExceptionally(getApiException(throwable.getCause()));
}
});
return future;
}
项目:incubator-pulsar
文件:NonPersistentTopicsImpl.java
@Override
public CompletableFuture<NonPersistentTopicStats> getStatsAsync(String destination) {
DestinationName ds = validateTopic(destination);
final CompletableFuture<NonPersistentTopicStats> future = new CompletableFuture<>();
asyncGetRequest(nonPersistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("stats"),
new InvocationCallback<NonPersistentTopicStats>() {
@Override
public void completed(NonPersistentTopicStats response) {
future.complete(response);
}
@Override
public void failed(Throwable throwable) {
future.completeExceptionally(getApiException(throwable.getCause()));
}
});
return future;
}
项目:incubator-pulsar
文件:NonPersistentTopicsImpl.java
@Override
public CompletableFuture<PersistentTopicInternalStats> getInternalStatsAsync(String destination) {
DestinationName ds = validateTopic(destination);
final CompletableFuture<PersistentTopicInternalStats> future = new CompletableFuture<>();
asyncGetRequest(nonPersistentTopics.path(ds.getNamespace()).path(ds.getEncodedLocalName()).path("internalStats"),
new InvocationCallback<PersistentTopicInternalStats>() {
@Override
public void completed(PersistentTopicInternalStats response) {
future.complete(response);
}
@Override
public void failed(Throwable throwable) {
future.completeExceptionally(getApiException(throwable.getCause()));
}
});
return future;
}
项目:incubator-pulsar
文件:BaseResource.java
public <T> CompletableFuture<Void> asyncPutRequest(final WebTarget target, Entity<T> entity) {
final CompletableFuture<Void> future = new CompletableFuture<>();
try {
request(target).async().put(entity, new InvocationCallback<ErrorData>() {
@Override
public void completed(ErrorData response) {
future.complete(null);
}
@Override
public void failed(Throwable throwable) {
log.warn("[{}] Failed to perform http put request: {}", target.getUri(), throwable.getMessage());
future.completeExceptionally(getApiException(throwable.getCause()));
}
});
} catch (PulsarAdminException cae) {
future.completeExceptionally(cae);
}
return future;
}
项目:incubator-pulsar
文件:BaseResource.java
public <T> CompletableFuture<Void> asyncPostRequest(final WebTarget target, Entity<T> entity) {
final CompletableFuture<Void> future = new CompletableFuture<>();
try {
request(target).async().post(entity, new InvocationCallback<ErrorData>() {
@Override
public void completed(ErrorData response) {
future.complete(null);
}
@Override
public void failed(Throwable throwable) {
log.warn("[{}] Failed to perform http post request: {}", target.getUri(), throwable.getMessage());
future.completeExceptionally(getApiException(throwable.getCause()));
}
});
} catch (PulsarAdminException cae) {
future.completeExceptionally(cae);
}
return future;
}
项目:incubator-pulsar
文件:BaseResource.java
public CompletableFuture<Void> asyncDeleteRequest(final WebTarget target) {
final CompletableFuture<Void> future = new CompletableFuture<>();
try {
request(target).async().delete(new InvocationCallback<ErrorData>() {
@Override
public void completed(ErrorData response) {
future.complete(null);
}
@Override
public void failed(Throwable throwable) {
log.warn("[{}] Failed to perform http delete request: {}", target.getUri(), throwable.getMessage());
future.completeExceptionally(getApiException(throwable.getCause()));
}
});
} catch (PulsarAdminException cae) {
future.completeExceptionally(cae);
}
return future;
}
项目:TranskribusSwtGui
文件:Storage.java
public void reloadUserDocs() {
logger.debug("reloading docs by user!");
if (user != null) {
conn.getAllDocsByUserAsync(0, 0, null, null, new InvocationCallback<List<TrpDocMetadata>>() {
@Override public void failed(Throwable throwable) {
logger.error("Error loading documents by user "+user+" - "+throwable.getMessage(), throwable);
}
@Override public void completed(List<TrpDocMetadata> response) {
logger.debug("loaded docs by user "+user+" - "+response.size()+" thread: "+Thread.currentThread().getName());
synchronized (this) {
userDocList.clear();
userDocList.addAll(response);
sendEvent(new DocListLoadEvent(this, 0, userDocList, true));
}
}
});
} else {
synchronized (this) {
userDocList.clear();
sendEvent(new DocListLoadEvent(this, 0, userDocList, true));
}
}
}
项目:micro-server
文件:AsyncRestClient.java
public CompletableFuture<T> get(final String url) {
CompletableFuture<T> result = new CompletableFuture();
client.target(url).request(accept).accept(accept).async()
.get(new InvocationCallback<String>() {
@Override
public void completed(String complete) {
buildResponse(result, complete);
}
@Override
public void failed(Throwable ex) {
result.completeExceptionally(ex);
}
});
return result;
}
项目:micro-server
文件:AsyncRestClient.java
public <V> CompletableFuture<T> post(final String queryResourceUrl,
final V request) {
CompletableFuture<T> result = new CompletableFuture();
final WebTarget webResource = client.target(queryResourceUrl);
webResource
.request(accept)
.accept(accept)
.async()
.post(Entity.entity(request, contentType),
new InvocationCallback<String>() {
@Override
public void completed(String complete) {
buildResponse(result,complete);
}
@Override
public void failed(Throwable ex) {
result.completeExceptionally(ex);
}
});
return result;
}
项目:micro-server
文件:AsyncRestClient.java
public <V> CompletableFuture<T> put(final String queryResourceUrl,
final V request) {
CompletableFuture<T> result = new CompletableFuture<>();
final WebTarget webResource = client.target(queryResourceUrl);
webResource
.request(accept)
.accept(accept)
.async()
.put(Entity.entity(request, contentType),
new InvocationCallback<String>() {
@Override
public void completed(String complete) {
buildResponse(result,complete);
}
@Override
public void failed(Throwable ex) {
result.completeExceptionally(ex);
}
});
return result;
}
项目:micro-server
文件:AsyncRestClient.java
public CompletableFuture<T> delete(final String queryResourceUrl) {
CompletableFuture<T> result = new CompletableFuture<>();
final WebTarget webResource = client.target(queryResourceUrl);
webResource
.request(accept)
.accept(accept)
.async()
.delete(new InvocationCallback<String>() {
@Override
public void completed(String complete) {
buildResponse(result,complete);
}
@Override
public void failed(Throwable ex) {
result.completeExceptionally(ex);
}
});
return result;
}
项目:vxms
文件:RESTAsyncThreadCheck.java
@Test
public void simpleTest() throws InterruptedException {
CountDownLatch latch = new CountDownLatch(1);
Client client = ClientBuilder.newClient();
WebTarget target = client.target("http://" + HOST + ":" + PORT).path("/wsService/simpleTest");
target
.request(MediaType.APPLICATION_JSON_TYPE)
.async()
.get(
new InvocationCallback<String>() {
@Override
public void completed(String response) {
System.out.println("Response entity '" + response + "' received.");
vertx.runOnContext((e) -> assertEquals(response, "test exception"));
latch.countDown();
}
@Override
public void failed(Throwable throwable) {}
});
latch.await();
testComplete();
}
项目:vxms
文件:RESTAsyncThreadCheck.java
@Test
public void simpleRetryTest() throws InterruptedException {
CountDownLatch latch = new CountDownLatch(1);
Client client = ClientBuilder.newClient();
WebTarget target =
client.target("http://" + HOST + ":" + PORT).path("/wsService/simpleRetryTest");
target
.request(MediaType.APPLICATION_JSON_TYPE)
.async()
.get(
new InvocationCallback<String>() {
@Override
public void completed(String response) {
System.out.println("Response entity '" + response + "' received.");
vertx.runOnContext((e) -> assertEquals(response, "test exception"));
latch.countDown();
}
@Override
public void failed(Throwable throwable) {}
});
latch.await();
testComplete();
}
项目:vxms
文件:RESTAsyncThreadCheck.java
@Test
public void simpleTimeoutTest() throws InterruptedException {
CountDownLatch latch = new CountDownLatch(1);
Client client = ClientBuilder.newClient();
WebTarget target =
client.target("http://" + HOST + ":" + PORT).path("/wsService/simpleTimeoutTest");
target
.request(MediaType.APPLICATION_JSON_TYPE)
.async()
.get(
new InvocationCallback<String>() {
@Override
public void completed(String response) {
System.out.println("Response entity '" + response + "' received.");
vertx.runOnContext((e) -> assertEquals(response, "operation _timeout"));
latch.countDown();
}
@Override
public void failed(Throwable throwable) {}
});
latch.await();
testComplete();
}
项目:vxms
文件:RESTAsyncThreadCheck.java
@Test
public void simpleTimeoutWithRetryTest() throws InterruptedException {
CountDownLatch latch = new CountDownLatch(1);
Client client = ClientBuilder.newClient();
WebTarget target =
client.target("http://" + HOST + ":" + PORT).path("/wsService/simpleTimeoutWithRetryTest");
target
.request(MediaType.APPLICATION_JSON_TYPE)
.async()
.get(
new InvocationCallback<String>() {
@Override
public void completed(String response) {
System.out.println("Response entity '" + response + "' received.");
vertx.runOnContext((e) -> assertEquals(response, "operation _timeout"));
latch.countDown();
}
@Override
public void failed(Throwable throwable) {}
});
latch.await();
testComplete();
}
项目:vxms
文件:RESTJerseyClientTests.java
@Test
public void stringPOST() throws InterruptedException, ExecutionException {
CountDownLatch latch = new CountDownLatch(1);
Client client = ClientBuilder.newClient();
WebTarget target = client.target("http://" + HOST + ":" + PORT).path("/wsService/stringPOST");
target
.request(MediaType.APPLICATION_JSON_TYPE)
.async()
.post(
Entity.entity("hello", MediaType.APPLICATION_JSON_TYPE),
new InvocationCallback<String>() {
@Override
public void completed(String response) {
latch.countDown();
}
@Override
public void failed(Throwable throwable) {}
})
.get();
latch.await();
testComplete();
}
项目:vxms
文件:RESTJerseyClientTests.java
@Test
public void stringOPTIONSResponse() throws InterruptedException, ExecutionException {
CountDownLatch latch = new CountDownLatch(1);
Client client = ClientBuilder.newClient();
WebTarget target =
client.target("http://" + HOST + ":" + PORT).path("/wsService/stringOPTIONSResponse");
target
.request(MediaType.APPLICATION_JSON_TYPE)
.async()
.options(
new InvocationCallback<String>() {
@Override
public void completed(String response) {
System.out.println("Response entity '" + response + "' received.");
Assert.assertEquals(response, "hello");
latch.countDown();
}
@Override
public void failed(Throwable throwable) {}
})
.get();
latch.await();
testComplete();
}
项目:vxms
文件:RESTJerseyClientTests.java
@Test
public void stringDELETEResponse() throws InterruptedException, ExecutionException {
CountDownLatch latch = new CountDownLatch(1);
Client client = ClientBuilder.newClient();
WebTarget target =
client.target("http://" + HOST + ":" + PORT).path("/wsService/stringDELETEResponse");
target
.request(MediaType.APPLICATION_JSON_TYPE)
.async()
.delete(
new InvocationCallback<String>() {
@Override
public void completed(String response) {
System.out.println("Response entity '" + response + "' received.");
Assert.assertEquals(response, "hello");
latch.countDown();
}
@Override
public void failed(Throwable throwable) {}
})
.get();
latch.await();
testComplete();
}
项目:vxms
文件:RESTAsyncThreadCheckStaticInitializer.java
@Test
public void simpleTest() throws InterruptedException {
CountDownLatch latch = new CountDownLatch(1);
Client client = ClientBuilder.newClient();
WebTarget target = client.target("http://" + HOST + ":" + PORT).path("/wsService/simpleTest");
target
.request(MediaType.APPLICATION_JSON_TYPE)
.async()
.get(
new InvocationCallback<String>() {
@Override
public void completed(String response) {
System.out.println("Response entity '" + response + "' received.");
vertx.runOnContext((e) -> assertEquals(response, "test exception"));
latch.countDown();
}
@Override
public void failed(Throwable throwable) {}
});
latch.await();
testComplete();
}
项目:vxms
文件:RESTAsyncThreadCheckStaticInitializer.java
@Test
public void simpleRetryTest() throws InterruptedException {
CountDownLatch latch = new CountDownLatch(1);
Client client = ClientBuilder.newClient();
WebTarget target =
client.target("http://" + HOST + ":" + PORT).path("/wsService/simpleRetryTest");
target
.request(MediaType.APPLICATION_JSON_TYPE)
.async()
.get(
new InvocationCallback<String>() {
@Override
public void completed(String response) {
System.out.println("Response entity '" + response + "' received.");
vertx.runOnContext((e) -> assertEquals(response, "test exception"));
latch.countDown();
}
@Override
public void failed(Throwable throwable) {}
});
latch.await();
testComplete();
}
项目:vxms
文件:RESTAsyncThreadCheckStaticInitializer.java
@Test
public void simpleTimeoutTest() throws InterruptedException {
CountDownLatch latch = new CountDownLatch(1);
Client client = ClientBuilder.newClient();
WebTarget target =
client.target("http://" + HOST + ":" + PORT).path("/wsService/simpleTimeoutTest");
target
.request(MediaType.APPLICATION_JSON_TYPE)
.async()
.get(
new InvocationCallback<String>() {
@Override
public void completed(String response) {
System.out.println("Response entity '" + response + "' received.");
vertx.runOnContext((e) -> assertEquals(response, "operation _timeout"));
latch.countDown();
}
@Override
public void failed(Throwable throwable) {}
});
latch.await();
testComplete();
}
项目:vxms
文件:RESTAsyncThreadCheckStaticInitializer.java
@Test
public void simpleTimeoutWithRetryTest() throws InterruptedException {
CountDownLatch latch = new CountDownLatch(1);
Client client = ClientBuilder.newClient();
WebTarget target =
client.target("http://" + HOST + ":" + PORT).path("/wsService/simpleTimeoutWithRetryTest");
target
.request(MediaType.APPLICATION_JSON_TYPE)
.async()
.get(
new InvocationCallback<String>() {
@Override
public void completed(String response) {
System.out.println("Response entity '" + response + "' received.");
vertx.runOnContext((e) -> assertEquals(response, "operation _timeout"));
latch.countDown();
}
@Override
public void failed(Throwable throwable) {}
});
latch.await();
testComplete();
}
项目:HomeAutomation
文件:StandAloneSensor.java
private void RESTDeliveryMethod(WebTarget r, SensorDataSaveRequest saveRequest) {
try {
r.request(MediaType.APPLICATION_JSON).async()
.post( Entity.entity(saveRequest, MediaType.APPLICATION_JSON), new InvocationCallback<Response>() {
@Override
public void completed(Response response) {
// TODO Auto-generated method stub
System.out.println("Status: " + response.getStatus());
}
@Override
public void failed(Throwable throwable) {
// TODO Auto-generated method stub
System.out.println("Error message: " + throwable.getMessage());
}});
} catch (Exception e) {
}
}
项目:floyd
文件:PingService.java
public void askForUptime(String pingUri, Consumer<String> sink, Consumer<String> errorSink, Runnable doneListener) {
this.client.target(pingUri).path(START_TIME).request().accept(MediaType.TEXT_PLAIN).async().get(new InvocationCallback<String>() {
@Override
public void completed(String rspns) {
sink.accept(rspns);
doneListener.run();
}
@Override
public void failed(Throwable thrwbl) {
errorSink.accept(thrwbl.getMessage());
doneListener.run();
}
});
}
项目:floyd
文件:PingService.java
public void askForMemory(String pingUri, Consumer<Double> availableProperty, Consumer<Double> usedProperty, Consumer<String> errorSink, Runnable doneListener) {
this.client.target(pingUri).path(MEMORY).request().accept(MediaType.APPLICATION_JSON).async().get(new InvocationCallback<JsonObject>() {
@Override
public void completed(JsonObject rspns) {
System.out.println("Response: " + rspns);
double available = rspns.getJsonNumber("Available memory in mb").doubleValue();
double used = rspns.getJsonNumber("Used memory in mb").doubleValue();
availableProperty.accept(available);
usedProperty.accept(used);
doneListener.run();
}
@Override
public void failed(Throwable thrwbl) {
errorSink.accept(thrwbl.getMessage());
doneListener.run();
}
});
}
项目:floyd
文件:PingService.java
public void askForOSInfo(String pingUri, Consumer<Double> loadAverage, Consumer<Integer> numberOfCores, Consumer<String> errorSink, Runnable doneListener) {
this.client.target(pingUri).path(OS).request().accept(MediaType.APPLICATION_JSON).async().get(new InvocationCallback<JsonObject>() {
@Override
public void completed(JsonObject rspns) {
System.out.println("Response: " + rspns);
double load = rspns.getJsonNumber("System Load Average").doubleValue();
int cores = rspns.getJsonNumber("Available CPUs").intValue();
loadAverage.accept(load);
numberOfCores.accept(cores);
doneListener.run();
}
@Override
public void failed(Throwable thrwbl) {
errorSink.accept(thrwbl.getMessage());
doneListener.run();
}
});
}
项目:floyd
文件:PingService.java
public void ping(String pingUri, Consumer<Long> responseTime, Consumer<String> errorSink, Runnable doneListener) {
long startTime = System.currentTimeMillis();
this.client.target(pingUri).path(PING).path(String.valueOf(startTime)).
request().async().
get(
new InvocationCallback<String>() {
@Override
public void completed(String rspns) {
responseTime.accept(System.currentTimeMillis() - startTime);
doneListener.run();
System.out.println("Response: " + rspns);
}
@Override
public void failed(Throwable thrwbl) {
errorSink.accept(thrwbl.getMessage());
doneListener.run();
}
});
}
项目:JavaIncrementalParser
文件:MyResourceTest.java
/**
* You can also register a +InvocationCallback+ and get a callback when the +Request+ is done.
*/
@Test
public void testInvocationCallback() throws InterruptedException, ExecutionException {
target.request().async().get(new InvocationCallback<String>() { // <1> Build an asynchronous request callback for the body of the +Response+
@Override
public void completed(String r) { // <2> Called when the +Request+ is completed and our entiy parsed
assertEquals("apple", r);
}
@Override
public void failed(Throwable t) { // <3> Called if the +Request+ failed to complete
fail(t.getMessage());
}
});
}
项目:barge
文件:BargeJaxRsClient.java
@Override
public ListenableFuture<RequestVoteResponse> requestVote(RequestVote request) {
final SettableFuture<RequestVoteResponse> result = SettableFuture.create();
client.target(baseUri).path("/raft/vote")
.request().async()
.post(Entity.entity(request, MediaType.APPLICATION_JSON_TYPE), new InvocationCallback<Response>() {
@Override
public void completed(Response response) {
result.set(response.readEntity(RequestVoteResponse.class));
}
@Override
public void failed(Throwable throwable) {
result.setException(throwable);
}
});
return result;
}
项目:barge
文件:BargeJaxRsClient.java
@Override
public ListenableFuture<AppendEntriesResponse> appendEntries(AppendEntries request) {
final SettableFuture<AppendEntriesResponse> result = SettableFuture.create();
client.target(baseUri).path("/raft/entries")
.request().async()
.post(Entity.entity(request, MediaType.APPLICATION_JSON_TYPE), new InvocationCallback<Response>() {
@Override
public void completed(Response response) {
result.set(response.readEntity(AppendEntriesResponse.class));
}
@Override
public void failed(Throwable throwable) {
result.setException(throwable);
}
});
return result;
}