我有tomcat线程无限期地被卡住(直到tomcat重新启动)。我的应用程序内置了spring,最后一条调试消息显示我对此方法的调用:
public byte[] getPageAsImageByteArray(byte[] pdfFileData, double scale) {
PDFRenderer renderer = null;
try (PDDocument doc = PDDocument.load(pdfFileData)) {
renderer = new PDFRenderer(doc);
BufferedImage img = renderer.renderImage(0, (float) scale);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(img, "png", baos);
return baos.toByteArray();
} catch (Exception e) {
log.error("Exception when rendering page using pdfbox", e);
throw new RuntimeException(e);
}
}
此调用永远不会返回。
有没有办法让我重写这个方法,以便在设置超时后可靠地退出?