1
Vertx ve Jasper Raporlarını kullanıyorum, raporlarımı başarılı bir şekilde oluşturabilirim ancak PDF dosyasını kapattığımda Sunucu çalışmayı durdurur. Sunucumun çalışmaya devam etmesini istiyorum. İşte Vertx: PDF dosyasını kapattıktan sonra canlı kalmaya devam et
public void start(Future<Void> startFuture){
String fileJSON = "{name : 'Stackoverflow', start: '15-06-2014', end: '02-09-2018'}";
String file = "/Test1";
Router router = Router.router(vertx);
router.route(file).handler(routingContext -> {
HttpServerResponse response = routingContext.response();
response.setChunked(true);
InputStream iostream = new ByteArrayInputStream(fileJSON.getBytes(StandardCharsets.UTF_8));
try{
JsonDataSource ds = new JsonDataSource(iostream);
Map parametersMap = new HashMap();
String report = "C:\\PathToreport\\report2.jrxml";
JasperReport Jasp = JasperCompileManager.compileReport(report);
JasperPrint JASP_PRINT = JasperFillManager.fillReport(Jasp,parametersMap,ds);
JasperViewer.viewReport(JASP_PRINT);
JasperExportManager.exportReportToPdfFile(JASP_PRINT, "C:\\Users\\path\\report4.pdf");
}
catch(Exception e){ System.out.println(e);}
routingContext.vertx().setTimer(1000, tid -> routingContext.response().end());
});
vertx.createHttpServer()
.requestHandler(router::accept)
.listen(8089, "localhost", res -> {
if (res.succeeded()){
startFuture.complete();
}
else
startFuture.fail(res.cause());
});
}
yığını: Burada
benim kodudur
vr. 07, 2016 9:25:04 AM io.vertx.core.impl.BlockedThreadChecker AVERTISSEMENT: Thread Thread[vert.x-eventloop-thread-1,5,main] has been blocked for 2407 ms, time limit is 2000 avr. 07, 2016 9:25:05 AM io.vertx.core.impl.BlockedThreadChecker AVERTISSEMENT: Thread Thread[vert.x-eventloop-thread-1,5,main] has been blocked for 3407 ms, time limit is 2000 avr. 07, 2016 9:25:06 AM io.vertx.core.impl.BlockedThreadChecker AVERTISSEMENT: Thread Thread[vert.x-eventloop-thread-1,5,main] has been blocked for 4407 ms, time limit is 2000 BUILD SUCCESSFUL (total time: 27 seconds)
Lütfen hatanın yığın izini gönderin. – sanluck
Bazı kodları kullanarak bunu canlı tutmak için bazı kodları ekledim: response.putHeader ("Content-Type", "application/json"); response.write (yeni JsonObject ("{\" error \ ": false, \" dosya \ ": \" report44 \ "}"). EncodePrettily()); response.end(); ama bana verir: java.lang.IllegalStateException: Yanıt zaten yazılmıştır. – zackzulg
@zackzulg [değiştir] bu stacktrace ile sorunuzunuzu yorum olarak iletmeyin. –