Set timeout on save
تنظیم زمانبندی برای ذخیره
Aspose.CAD برای API جاوا به شما امکان میدهد که زمانبندی را برای ذخیره تنظیم کنید. این میتواند در مواردی مفید باشد که فرایند ذخیرهسازی زمان زیادی را میگیرد یا مقدار زیادی از حافظه را مصرف میکند. برای این کار، API کلاس InterruptionTokenSource را ارائه میدهد. کلاس InterruptionTokenSource یک توکن را فراهم میکند که برای قطع عملیاتهای طولانی استفاده میشود.
کد نمونه
کد نمونه زیر استفاده از کلاس InterruptionTokenSource را نشان میدهد.
// For complete examples and data files, please go to https://github.com/aspose-cad/Aspose.CAD-for-Java | |
final String SourceDir = Utils.getDataDir_DWGDrawings(); | |
final String OutputDir = Utils.getDataDir_Output(); | |
final InterruptionTokenSource source = new com.aspose.cad.InterruptionTokenSource(); | |
try { | |
final CadImage cadImageBig = (CadImage)Image.load(SourceDir + "Drawing11.dwg"); | |
try { | |
CadRasterizationOptions rasterizationOptionsBig = new CadRasterizationOptions(); | |
rasterizationOptionsBig.setPageWidth(cadImageBig.getSize().getWidth() / 2); | |
rasterizationOptionsBig.setPageHeight(cadImageBig.getSize().getHeight() / 2); | |
final PdfOptions CADfBig = new PdfOptions(); | |
CADfBig.setVectorRasterizationOptions(rasterizationOptionsBig); | |
CADfBig.setInterruptionToken(source.getToken()); | |
java.lang.Thread thread = new java.lang.Thread(new Runnable() { | |
@Override | |
public void run() { | |
try { | |
cadImageBig.save(OutputDir + "PutTimeoutOnSave_out.pdf", CADfBig); | |
} catch (Throwable th) { | |
System.out.println("interrupted !!!"); | |
} | |
} | |
}); | |
thread.start(); | |
TimeUnit.SECONDS.sleep(3); | |
source.interrupt(); | |
thread.join(); | |
} finally { | |
cadImageBig.dispose(); | |
} | |
} finally { | |
source.dispose(); | |
} |