2011-01-05 13 views
0

Hier ist, was muss ich tun: Übertragen Sie PDFs Apache's FOP auf einem Server mit (vorzugsweise Windows). Die Jobs kommen aus einer Warteschlange, aber das ist nicht so wichtig.Apache FOP & Java Warm Startoptionen (noch besser w/Rhino)

Ich möchte die JVM jedes Mal aufwärmen, wenn ich einen Job rendern muss. FOP hat ein Referenz-Servlet, das ich mit Web-Anfragen verwenden könnte, aber ich möchte Tomcat nicht einführen.

Ich habe sehr grobe Java-Fähigkeiten (und würde es lieber so behalten), also, was ist der einfachste Weg, ein lang laufendes Java-Programm zu starten, das eine Warteschlange überwachen und FOP-Jobs ohne Start ausführen kann Overhead, der zum Beispiel mit einem Kommandozeilen-Java-Skript passiert? Ich würde das gerne mit Rhino machen, da ich mit JS vertraut bin und in Rhino/JS bereits viel von der Logik der Dokumentenverarbeitung habe. Ich möchte definitiv keinen Java-Webserver verwenden.

Antwort

1

Ich denke, Sie haben wirklich nur zwei Möglichkeiten;

  1. Ein Java "Server", sei es ein Webserver oder ein RPC-Server. Wir verwenden Sparsamkeit, um mit einem lang laufenden Java-Service zu kommunizieren, der nur dazu dient, PDFs zu generieren. Wir laden FOP beim Start vor und halten die Bibliothek für jede Anfrage "heiß". Ein Web-Service wäre genauso gut.

  2. Ein Java-Daemon, der die von Ihnen erwähnte Warteschlange abhört, die PDF-Datei erzeugt (vielleicht im tmp-Ordner?) Und eine Meldung über die Fertigstellung und den Speicherort in einer anderen Warteschlange zurückschickt langlaufende Finanzberichte mit> 300 Seiten).

Sie können die gewünschte Sprache verwenden; Wenn Rhino direkt mit Java/FOP kommunizieren kann, sollten Sie kein Problem haben. Wir haben Jython und Scala für verschiedene Projekte auf Java verwendet.

Verwandte Themen