2012-04-02 5 views
0

In einer Produktionsumgebung haben wir viele verschiedene Tomcat-Instanzen. Jeder Tomcat überwacht verschiedene Ports, verwendet eine andere Datenbank als JDBCRealm und führt Apps aus einem anderen appBase-Verzeichnis aus. Also hier sind die Parameter, die instanzspezifischen Werte haben:Ist es möglich, Tomcat7-Ports, appBase und Realm-Attribute (die sich in server.xml befinden) vom Startskript zu überschreiben?

  • port Attribut Server und Connector Element
  • connectionURL, connectionName, connectionPassword Attribute Realm Element
  • appBase Attribut Host Element

Wenn jemand eine (neue) Tomcat-Instanz (erneut) einsetzt, muss man die se ersetzen rver.xml (aus der Quellcodeverwaltung), um instanzspezifische Werte für diese Parameter festzulegen.

Ich würde es vorziehen, die gleiche server.xml in den verschiedenen Instanzen zu haben. Also meine Frage ist, ist es möglich, diese Parameter aus dem Startskript zu überschreiben/neu zu definieren?

Antwort

1

Ja, aber Sie müssen Ihre server.xml anpassen.

Zum Beispiel für den http-Anschluss würden Sie dies tun:

<Connector port="${port.http}" protocol="HTTP/1.1" 
      connectionTimeout="20000" 
      redirectPort="${port.https}" /> 

und erstellen/bearbeiten setenv [bat | sh] und fügen Sie etwas entlang der Linien von (für Windows).

set CATALINA_OPTS=-Dport.http=10180 -Dport.https=10143 

Vergessen Sie nicht, dass Sie auch den heruntergefahrenen Port parametrieren müssen. Diese Technik funktioniert für jeden Attributwert in server.xml, context.xml und web.xml.

+0

Das ist genau das, was ich wollte. Ich probiere es aus und werde mit deiner Zustimmung/Akzeptanz zurückkommen. Danke mein Herr. – bpgergo

+0

Danke, ich habe das versucht und funktioniert gut. – bpgergo