我试图弄清楚通过并行流异步执行同步JaxR是否安全。
这是一个代码示例:
public class Singleton { // I'm a Singleton
private WebTarget webtarget;
public void deleteElement(String id) {
try {
Response res = this.webtarget.path("/item/{id}").request().buildDelete().invoke();
if (res.getStatusInfo() != Response.Status.OK) {
throw new TechnicalException("distant service failed and responded" + res.getStatus());
}
} catch (Exception e) {
LOGGER.error("error");
throw new TechnicalException("error", e);
}
}
}
在并行流中调用此代码是否安全?还是不是,我应该使用submit()
而不是invoke()
来获得Future<Response>
,这样我才能在所有删除操作后加入。