【发布时间】:2012-01-06 05:49:01
【问题描述】:
我是网络服务的新手。我编写了一个创建并返回 pdf 文件的 rest web 服务。我的代码如下
@Path("/hello")
public class Hello {
@GET
@Path("/createpdf")
@Produces("application/pdf")
public Response getpdf() {
synchronized(this){
try {
OutputStream file = new FileOutputStream(new File("c:/temp/FirstPdf5.pdf"));
Document document = new Document();
PdfWriter.getInstance(document, file);
document.open();
document.add(new Paragraph("Hello Kiran"));
document.add(new Paragraph(new Date().toString()));
document.close();
file.close();
} catch (Exception e) {
e.printStackTrace();
}
File file1 = new File("c:/temp/FirstPdf5.pdf");
ResponseBuilder response = Response.ok((Object) file1);
response.header("Content-Disposition",
"attachment; filename=new-android-book.pdf");
return response.build();
}
}
}
如果多个客户端尝试同时调用 Web 服务,会影响我的代码吗? 我的意思是,如果客户端 A 使用 Web 服务,同时客户端 B 尝试使用 Web 服务,那么 pdf 文件会被过度写入。
如果我的问题不正确,请告诉我
谢谢
【问题讨论】:
标签: web-services rest synchronization