本文整理了Java中javax.ws.rs.container.Suspended.<init>()
方法的一些代码示例,展示了Suspended.<init>()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Suspended.<init>()
方法的具体详情如下:
包路径:javax.ws.rs.container.Suspended
类名称:Suspended
方法名:<init>
暂无
代码示例来源:origin: jersey/jersey
@GET
public void longGet(@Suspended final AsyncResponse ar) {
TASK_EXECUTOR.submit(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(SLEEP_TIME_IN_MILLIS);
} catch (InterruptedException ex) {
LOGGER.log(Level.SEVERE, "Response processing interrupted", ex);
}
ar.resume(NOTIFICATION_RESPONSE);
}
});
}
}
代码示例来源:origin: jersey/jersey
@GET
@Path("async")
public void suspendViaContextExample(@Suspended final AsyncResponse ar, @QueryParam("query") final String query) {
TASK_EXECUTOR.submit(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(SLEEP_TIME_IN_MILLIS);
} catch (InterruptedException ex) {
LOGGER.log(Level.SEVERE, "Response processing interrupted", ex);
}
ar.resume("Complex result for " + query);
}
});
}
}
代码示例来源:origin: prestodb/presto
@GET
@Path("{queryId}/{token}")
@Produces(MediaType.APPLICATION_JSON)
public void getQueryResults(
@PathParam("queryId") QueryId queryId,
@PathParam("token") long token,
@QueryParam("maxWait") Duration maxWait,
@QueryParam("targetResultSize") DataSize targetResultSize,
@HeaderParam(X_FORWARDED_PROTO) String proto,
@Context UriInfo uriInfo,
@Suspended AsyncResponse asyncResponse)
{
Query query = queries.get(queryId);
if (query == null) {
asyncResponse.resume(Response.status(Status.NOT_FOUND).build());
return;
}
if (isNullOrEmpty(proto)) {
proto = uriInfo.getRequestUri().getScheme();
}
asyncQueryResults(query, OptionalLong.of(token), maxWait, targetResultSize, uriInfo, proto, asyncResponse);
}
代码示例来源:origin: apache/incubator-pinot
@POST
@ManagedAsync
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Path("/segments")
@ApiOperation(value = "Upload a segment", notes = "Upload a segment as binary")
// For the multipart endpoint, we will always move segment to final location regardless of the segment endpoint.
public void uploadSegmentAsMultiPart(FormDataMultiPart multiPart,
@ApiParam(value = "Whether to enable parallel push protection") @DefaultValue("false") @QueryParam(FileUploadDownloadClient.QueryParameters.ENABLE_PARALLEL_PUSH_PROTECTION) boolean enableParallelPushProtection,
@Context HttpHeaders headers, @Context Request request, @Suspended final AsyncResponse asyncResponse) {
try {
asyncResponse.resume(uploadSegment(multiPart, enableParallelPushProtection, headers, request, true));
} catch (Throwable t) {
asyncResponse.resume(t);
}
}
代码示例来源:origin: prestodb/presto
@DELETE
@Path("/v1/proxy")
@Produces(APPLICATION_JSON)
public void cancelQuery(
@QueryParam("uri") String uri,
@QueryParam("hmac") String hash,
@Context HttpServletRequest servletRequest,
@Suspended AsyncResponse asyncResponse)
{
if (!hmac.hashString(uri, UTF_8).equals(HashCode.fromString(hash))) {
throw badRequest(FORBIDDEN, "Failed to validate HMAC of URI");
}
Request.Builder request = prepareDelete().setUri(URI.create(uri));
performRequest(servletRequest, asyncResponse, request, response -> responseWithHeaders(noContent(), response));
}
代码示例来源:origin: jersey/jersey
@GET
@ManagedAsync
public void longGet(@Suspended final AsyncResponse ar, @QueryParam("id") int requestId) {
try {
Thread.sleep(SLEEP_TIME_IN_MILLIS);
} catch (InterruptedException ex) {
LOGGER.log(Level.SEVERE, "Response processing interrupted", ex);
}
ar.resume(requestId + " - " + NOTIFICATION_RESPONSE);
}
}
代码示例来源:origin: graphhopper/graphhopper
@POST
@Timed
@ManagedAsync
public void changeGraph(JsonFeatureCollection collection, @Suspended AsyncResponse response) {
response.resume(graphHopper.changeGraph(collection.getFeatures()));
}
代码示例来源:origin: atomix/atomix
@GET
@Path("/{name}/value")
@Produces(MediaType.APPLICATION_JSON)
public void get(@PathParam("name") String name, @Suspended AsyncResponse response) {
getPrimitive(name).thenCompose(value -> value.get()).whenComplete((result, error) -> {
if (error == null) {
response.resume(Response.ok(result).build());
} else {
LOGGER.warn("{}", error);
response.resume(Response.serverError().build());
}
});
}
代码示例来源:origin: jersey/jersey
@GET
@Path("parameterized-async")
@ResponseBodyFromCdiBean
public void interceptedParameterizedAsync(@QueryParam("q") final String q, @Suspended final AsyncResponse response) {
bean.setRequestId(q);
executor.execute(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(1000);
} catch (InterruptedException ex) {
Logger.getLogger(RequestScopedResource.class.getName()).log(Level.SEVERE, null, ex);
}
response.resume("this will never make it to the client");
}
});
}
代码示例来源:origin: jersey/jersey
@GET
@ManagedAsync
public void getMessage(@Suspended final AsyncResponse ar) throws InterruptedException {
suspended.put(ar);
}
代码示例来源:origin: apache/incubator-pinot
@POST
@ManagedAsync
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.MULTIPART_FORM_DATA)
@Path("/v2/segments")
@ApiOperation(value = "Upload a segment", notes = "Upload a segment as binary")
// This behavior does not differ from v1 of the same endpoint.
public void uploadSegmentAsMultiPartV2(FormDataMultiPart multiPart,
@ApiParam(value = "Whether to enable parallel push protection") @DefaultValue("false") @QueryParam(FileUploadDownloadClient.QueryParameters.ENABLE_PARALLEL_PUSH_PROTECTION) boolean enableParallelPushProtection,
@Context HttpHeaders headers, @Context Request request, @Suspended final AsyncResponse asyncResponse) {
try {
asyncResponse.resume(uploadSegment(multiPart, enableParallelPushProtection, headers, request, true));
} catch (Throwable t) {
asyncResponse.resume(t);
}
}
代码示例来源:origin: prestodb/presto
@POST
@Path("/v1/statement")
@Produces(APPLICATION_JSON)
public void postStatement(
String statement,
@Context HttpServletRequest servletRequest,
@Context UriInfo uriInfo,
@Suspended AsyncResponse asyncResponse)
{
Request.Builder request = preparePost()
.setUri(uriBuilderFrom(remoteUri).replacePath("/v1/statement").build())
.setBodyGenerator(createStaticBodyGenerator(statement, UTF_8));
performRequest(servletRequest, asyncResponse, request, response -> buildResponse(uriInfo, response));
}
代码示例来源:origin: aol/micro-server
@GET
@Produces("application/json")
public void mainfest(@Suspended AsyncResponse asyncResponse, @Context ServletContext context) {
ReactiveSeq.of("/META-INF/MANIFEST.MF")
.map(url->context.getResourceAsStream(url))
.map(this::getManifest)
.foldFuture(WorkerThreads.ioExecutor.get(),
s->s.forEach(Long.MAX_VALUE,result->asyncResponse.resume(result)));
}
代码示例来源:origin: atomix/atomix
@DELETE
@Path("/{name}/lock")
public void unlock(@PathParam("name") String name, @Suspended AsyncResponse response) {
getPrimitive(name).thenCompose(lock -> lock.unlock()).whenComplete((result, error) -> {
if (error == null) {
response.resume(Response.ok().build());
} else {
LOGGER.warn("{}", error);
response.resume(Response.serverError().build());
}
});
}
}
代码示例来源:origin: prestodb/presto
@GET
@Path("/v1/proxy")
@Produces(APPLICATION_JSON)
public void getNext(
@QueryParam("uri") String uri,
@QueryParam("hmac") String hash,
@Context HttpServletRequest servletRequest,
@Context UriInfo uriInfo,
@Suspended AsyncResponse asyncResponse)
{
if (!hmac.hashString(uri, UTF_8).equals(HashCode.fromString(hash))) {
throw badRequest(FORBIDDEN, "Failed to validate HMAC of URI");
}
Request.Builder request = prepareGet().setUri(URI.create(uri));
performRequest(servletRequest, asyncResponse, request, response -> buildResponse(uriInfo, response));
}
代码示例来源:origin: jersey/jersey
@GET
public void pickUpMessage(@Suspended final AsyncResponse ar, @QueryParam("id") final String messageId)
throws InterruptedException {
LOGGER.log(DEBUG, "Received GET <{0}> with context {1} on thread {2}.",
new Object[] {messageId, ar.toString(), Thread.currentThread().getName()});
QUEUE_EXECUTOR.submit(new Runnable() {
@Override
public void run() {
try {
suspended.put(ar);
LOGGER.log(DEBUG, "GET <{0}> context {1} scheduled for resume.",
new Object[] {messageId, ar.toString()});
} catch (InterruptedException ex) {
LOGGER.log(Level.SEVERE,
"Waiting for a message pick-up interrupted. Cancelling context" + ar.toString(), ex);
ar.cancel(); // close the open connection
}
}
});
}
代码示例来源:origin: atomix/atomix
@DELETE
@Path("/{name}/lock")
public void unlock(@PathParam("name") String name, @Suspended AsyncResponse response) {
getPrimitive(name).thenCompose(lock -> lock.unlock()).whenComplete((result, error) -> {
if (error == null) {
response.resume(Response.ok().build());
} else {
LOGGER.warn("{}", error);
response.resume(Response.serverError().build());
}
});
}
}
代码示例来源:origin: prestodb/presto
@GET
@Path("/v1/info")
@Produces(APPLICATION_JSON)
public void getInfo(
@Context HttpServletRequest servletRequest,
@Suspended AsyncResponse asyncResponse)
{
Request.Builder request = prepareGet()
.setUri(uriBuilderFrom(remoteUri).replacePath("/v1/info").build());
performRequest(servletRequest, asyncResponse, request, response ->
responseWithHeaders(Response.ok(response.getBody()), response));
}
代码示例来源:origin: jersey/jersey
@GET
public void pickUpMessage(@Suspended final AsyncResponse ar, @QueryParam("id") final String messageId) {
LOGGER.log(DEBUG, "Received GET <{0}> with context {1} on thread {2}.",
new Object[]{messageId, ar.toString(), Thread.currentThread().getName()});
QUEUE_EXECUTOR.submit(new Runnable() {
@Override
public void run() {
try {
final String message = messages.take();
LOGGER.log(DEBUG, "Resuming GET <{0}> context {1} with a message {2} on thread {3}.",
new Object[]{messageId, ar.toString(), message, Thread.currentThread().getName()});
ar.resume(message);
} catch (InterruptedException ex) {
LOGGER.log(Level.SEVERE,
"Waiting for a message pick-up interrupted. Cancelling context" + ar.toString(), ex);
ar.cancel(); // close the open connection
}
}
});
}
代码示例来源:origin: atomix/atomix
@POST
@Path("/{name}/lock")
@Produces(MediaType.APPLICATION_JSON)
public void lock(@PathParam("name") String name, @Suspended AsyncResponse response) {
getPrimitive(name).thenCompose(lock -> lock.lock()).whenComplete((result, error) -> {
if (error == null) {
response.resume(Response.ok().build());
} else {
LOGGER.warn("{}", error);
response.resume(Response.serverError().build());
}
});
}
内容来源于网络,如有侵权,请联系作者删除!