Xpages 处理并行REST post请求
我已经根据Domino示例REST服务特性创建了自己的REST服务 就我所了解的库的设计而言,每个REST请求都将在服务器上自己的线程中运行。这种方法不允许处理对同一文档的并行POST请求 我在XPages扩展库中没有发现任何示例可以将post请求作为服务器上的事务处理,即在整个请求处理时间内阻塞服务器资源并将下一个请求放入队列 有人能指出允许处理并行请求的服务的源代码吗 我的请求后处理功能的框架如下Xpages 处理并行REST post请求,xpages,lotus-domino,Xpages,Lotus Domino,我已经根据Domino示例REST服务特性创建了自己的REST服务 就我所了解的库的设计而言,每个REST请求都将在服务器上自己的线程中运行。这种方法不允许处理对同一文档的并行POST请求 我在XPages扩展库中没有发现任何示例可以将post请求作为服务器上的事务处理,即在整个请求处理时间内阻塞服务器资源并将下一个请求放入队列 有人能指出允许处理并行请求的服务的源代码吗 我的请求后处理功能的框架如下 @POST @Path(PATH_SEPARATOR + MyURL) @Consumes(M
@POST
@Path(PATH_SEPARATOR + MyURL)
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Response myPost(
String requestEntity,
@Context final UriInfo uriInfo)
{
LogMgr.traceEntry(this, "myPost");
RestContext.verifyUserContext();
String myJson = ... // Process post
Response response = buildResponse(myJson);
LogMgr.traceExit(this, "myPost", "OK");
return response;
}
我想实现这样的东西
// Start transaction
String myJson = ... // Process post
// Stop transaction
有没有一种在Java中实现的方法?我想您可以在传统Notes/Domino环境中使用,在Java中:-
你尝过这些吗?我不明白他们为什么不工作
/John我想您可以在传统Notes/Domino环境中使用,也可以在Java中使用:-
你尝过这些吗?我不明白他们为什么不工作
/约翰我同意约翰的观点。您可以使用文档锁定来防止同时更新同一文档。您可能还需要考虑对REST API的定义的一些更改。 首先,您暗示您正在使用POST更新现有文档。通常,POST用于创建新资源。考虑使用PUT而不是POST。< /P>
第二,即使使用文档锁定,您也可能需要检查版本冲突。例如,假设客户机读取文档的版本2,然后尝试更新它。同时,另一个客户端已经将文档更新为版本3。许多REST API用于处理此类版本冲突。我同意John的观点。您可以使用文档锁定来防止同时更新同一文档。您可能还需要考虑对REST API的定义的一些更改。 首先,您暗示您正在使用POST更新现有文档。通常,POST用于创建新资源。考虑使用PUT而不是POST。< /P> 第二,即使使用文档锁定,您也可能需要检查版本冲突。例如,假设客户机读取文档的版本2,然后尝试更新它。同时,另一个客户端已经将文档更新为版本3。许多RESTAPI用于处理此类版本冲突