Hallo,
habe erreicht, dass mit diesem Servlet
auf einem Tomcat 5.0.19, der als Anwendung unter Windows XP läuft, der Batch-Job CrawlerStarten.bat mit diesem Inhalt
Weiss jemand Rat, was zu machen ist, damit die Lösung auch mit Tomcat als Dienst funktioniert?
habe erreicht, dass mit diesem Servlet
Code:
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class IndexAktualisieren extends HttpServlet {
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
// Parameter einlesen
String nameDerBatchDatei;
String indexAdminOrdner;
String indexAdminOrdnerRel;
PrintWriter out = response.getWriter();
if( request.getParameterNames().hasMoreElements() == true )
{ // falls die Parameter beim Aufruf definiert sind
nameDerBatchDatei = request.getParameter( "nameDerBatchDateiQP" );
indexAdminOrdner = request.getParameter( "indexAdminOrdnerQP" );
// Pfad relativ zum bin-Ordner ermitteln:
String indexAdminOrdnerArray[] = indexAdminOrdner.split("/webapps");
indexAdminOrdnerRel = "webapps/" + indexAdminOrdnerArray[1];
}
else{ // Standardwerte
nameDerBatchDatei = "Pressearchiv2006_Seiten_indexieren.bat";
indexAdminOrdner = "C:/Programme/ATomcat/5.0/webapps/SuchindexAdministrieren/";
indexAdminOrdnerRel = "webapps/SuchindexAdministrieren/";
}
try {
// Indexierung starten
Runtime.getRuntime().exec( "cmd.exe /c start " + indexAdminOrdner + nameDerBatchDatei + " " + indexAdminOrdnerRel);
// Meldung im Browser ausgeben
response.setContentType("text/html");
out.println("<title>Suchindex wird aktualisiert ...</title>
<center>Suchindex wird mit [i]" + nameDerBatchDatei + "[/i] aktualisiert *</center>");
}
catch (Exception exc){
// Fehlermeldung im Browser ausgeben
response.setContentType("text/html");
out.println("Fehler beim Start " + nameDerBatchDatei + ".");
out.println(exc.toString());
}
}
}
mit einem Klick auf den Linkcd ..
cd %1
%JAVA_Home%\bin\java -jar regain-crawler.jar -forceNewIndex -config CrawlerConfiguration.xml
gestartet wird. Funktioniert, wie gewünscht. Jetzt habe ich diese Lösung auf einem Windows 2003-System, wo Tomcat als Dienst gestartet ist, getestet mit dem Ergebniss, dass der Servlet IndexAktualisieren mit dem Klick auf den Link scheinbar ausgeführt wird, nicht aber der CrawlerStarten.bat-Job. Dabei wird keine Fehlermeldung ausgegeben. Wenn auf dem Windows 2003-System Tomcat als normales Programm, nicht als Dienst gestartet ist, dann funktioniert die Lösung, wie gewünscht.<a href="IndexAktualisieren?nameDerBatchDateiQP=CrawlerStarten.bat&
indexAdminOrdnerQP=C:/Programme/ATomcat/5.0/webapps/SuchindexAdministrieren/">
Weiss jemand Rat, was zu machen ist, damit die Lösung auch mit Tomcat als Dienst funktioniert?