この場合、デフォルトのプリンターで印刷する Windows 2008 サーバーの Tomcat から呼び出されるサーバー側の印刷機能があり、永久にハングします。これはスタック トレースです。
at sun.awt.windows.WPrinterJob._startDoc(Native Method)
at sun.awt.windows.WPrinterJob.startDoc(WPrinterJob.java:1249)
at sun.print.RasterPrinterJob.print(RasterPrinterJob.java:1371)
at com.gnostice.pdfone.PdfPrinter.a(Unknown Source)
at com.gnostice.pdfone.PdfPrinter.print(Unknown Source)
at com.gnostice.pdfone.PdfPrinter.print(Unknown Source)
at de.ikoffice.print.PrintService.printPDF(PrintService.java:64)
at de.ikoffice.document.Document.printPDFToPrinter(Document.java:261)
at de.ikoffice.document.Document.start(Document.java:91)
at de.ikoffice.document.DocumentService.processMessage(DocumentService.java:48)
犯人は、いくつかのバックグラウンド シェル コンテキスト (サーバーはユーザー Tomcat として実行されている Tomcat 5.5 です) でウィンドウを開くように見えるプリンター "Microsoft XPS ドキュメント ライター" であり、そこで永久にハングします。状況を処理します。
何か案は?プリンター名をハードコーディングして、印刷を禁止していますか? スレッドを停止しますか? これはネイティブ関数であるため、目的の結果でスレッドを interrupt() することはできません。