LBS4-Borrower-Update zu langsam
Der Aufruf der Jar-Datei verzögert den eigentlichen Import-Prozess enorm. Ein möglicher Lösungsansatz:
sofern Sie ein bisschen Java-Code schreiben können/wollen (oder Groovy oder irgendeine andere Sprache, die in JVM-Bytecode kompilieren kann). Ich bleibe mal der Einfachheit halber bei Groovy.
Wenn man sich die jar Datei vom Borrower Update ansieht, sieht man, dass dort org.oclc.lbs.bu.BorrowerUpdate als MainClass im Manifest hinterlegt ist. Mal davon ausgehen, dass Sie die Update-Daten über einen Socket empfangen wollen ungefähr folgendes Skelett:
import java.net.ServerSocket
def server = new ServerSocket(4444)
while(true) {
server.accept { socket ->
println "processing new connection..."
socket.withStreams { input, output ->
def reader = input.newReader()
// vom reader die Daten lesen
// in eine Datei schreiben
def arguments = ... // wie beim Programm-Aufruf auch, nur halt mit der geschriebenen Datei
org.oclc.lbs.bu.BorrowerUpdate.main( arguments )
// und hier noch ein bisschen auf Fehler überprüfen
output << "irgendeine Antwort\n"
}
println "processing/thread complete."
}
}
Sie brauchen halt zum Kompilieren die jar Datei, mit der Sie das Update sonst auch aufrufen. Beim Aufruf Ihres Programmes muss die dann natürlich auch im Klassenpfad liegen. Sollte eigentlich recht elegant und stabil sein. Und weil der Java-Prozess nicht beendet wird auch