Задайте времево изчакване при запазване

Задайте времево изчакване при запазване

Aspose.CAD за Java 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();
}