# Strutsanwendung auf Tomcat nach Neustart langsamer.



## Guest (18. Sep 2005)

Hallo,

ich habe eine Strutsanwendung, welche auf einem Tomcat(5.5.9) läuft. Jedesmal wenn ich den Server(und somit den Tomcat) neu starte, ist die Anwendung am Anfang etwas langsamer. Soll heissen, dass jeder Dialog, jede Action beim ersten Aufruf um einiges langsamer ist als bei den folgenden Aufrufen.

Was mich daran stört ist, wenn ich meine Strutsanwendung bei Interessenten(potentiellen Kunden) vorstellen möchte, dann ist diese bei jedem Rechner-Neustart langsamer als sie es im Produktionsbetrieb sein wird. 

Hat da jemand einen guten Lösungsvorschlag?

Gruß


----------



## clemson (18. Sep 2005)

hmm, lösungsvorschlag hab ich keinen aber eine vermutung, worans liegen könnte (ich entwickle auch gerade ein struts-projekt und bei mir tritt das gleiche "problem" auf): ich denke, dass tomcat die ganzen dateien (jsp's, java's) nach jedem server-neustart neu compieliert, und deswegen die verzögerung statt findet... ist aber nur ne' vermutung von mir.


eventuell weiß ja jemand, ob man das abstellen bzw. einstellen kann bei tomcat...


----------



## Gast (18. Sep 2005)

Deine "Vermutung" sollte richtig sein, nur weiss ich eben nicht, wie ich das verhindern kann.


----------



## Jockel (18. Sep 2005)

Hm... hab leider keinen Link zur Hand, aber such mal nach 'tomcat precompile', da solltest du was finden.


----------



## tec1 (7. Okt 2005)

Folgende Einstellungen in der conf/web.xml verhindern, dass die jsp's nach jedem Tomcat Neustart neu übersetzt werden:


```
<servlet>
        <servlet-name>jsp</servlet-name>
        <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
        <init-param>
            <param-name>fork</param-name>
            <param-value>false</param-value>
        </init-param>
        <init-param>
            <param-name>xpoweredBy</param-name>
            <param-value>false</param-value>
        </init-param>

			
        <init-param>
			<param-name>keepgenerated</param-name>
			<param-value>false</param-value>
		</init-param>
		
		<init-param>
			<param-name>development</param-name>
			<param-value>false</param-value>
		</init-param>
		
		<init-param>
			<param-name>reloading</param-name>
			<param-value>false</param-value>
		</init-param>
		
		<init-param>
			<param-name>classdebuginfo</param-name>
			<param-value>false</param-value>
		</init-param>
		
		
		
        <load-on-startup>3</load-on-startup>
    </servlet>
```

D.h. dass ich zwar alle Dialoge einmal durchklicken muss, das dann aber auch nur einmal. Ich kann den Rechner (und den Tomcat) runterfahren und nach einem Neustart werden nicht alle JSP's neu übersetzt. Was die einzelnen Parameter bewirken kann der Tomcat Doku entnommen werden.


----------

