Impostare il timeout durante il salvataggio

Impostare il timeout durante il salvataggio

Aspose.CAD per l’API Java consente di impostare un timeout durante il salvataggio. Questo potrebbe essere utile nei casi in cui il processo di salvataggio richiede molto tempo o consuma molta memoria. Per questo, l’API fornisce la InterruptionTokenSource classe. La InterruptionTokenSource classe fornisce un token che viene utilizzato per interrompere operazioni prolungate.

Codice di esempio

Il seguente frammento di codice dimostra l’uso della InterruptionTokenSource classe.

// 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();
}