In Tomcat wie kann mein Servlet bestimmen, welche Anschlüsse konfiguriert werden?

StackOverflow https://stackoverflow.com/questions/65530

  •  09-06-2019
  •  | 
  •  

Frage

In Tomcat 5.5 die server.xml können viele Anschlüsse haben, in der Regel Port nur 8080, sondern auch für meine Anwendung könnte ein Benutzer ihre servlet.xml konfigurieren auch andere Ports zu öffnen (etwa 8081-8088). Ich würde für meine Servlet möchte, um herauszufinden, was Socket-Verbindungen Ports vaild werden (Während des Servlet.init () Kater noch nicht die Anschlüsse gestartet wurde.)

Ich kann die server.xml sie (grotty) finden und analysieren, ich an dem Threadnamen aussehen könnte (nach tomcat anläuft - aber wie würde ich wissen, wann ein guter Zeitpunkt, das ist zu tun?) Aber ich würde es vorziehen, ein Lösung, die in meinem servlet.init ausführen kann () und bestimmen, was der gültigen Portbereich sein wird. Irgendwelche Ideen? Eine Lösung kann fest an Tomcat für meine Anwendung gebunden werden, die in Ordnung ist.

War es hilfreich?

Lösung

In Tomcat 6.0 sollte es wie etwas sein:

org.apache.catalina.ServerFactory.getServer().getServices 

die Dienste zu erhalten. Danach werden Sie möglicherweise verwenden

Service.findConnectors

, die gibt einen Stecker, der schließlich die Methode hat

Connector.getPort

Sehen Sie die JavaDocs für die Details.

Andere Tipps

Warum?

Wenn Sie während der Seite für ein Bild oder CSS-Datei URL benötigen, was ist los mit ServletRequest.getLocalPort () oder, besser noch, HttpServletRequest.getContextPath () für den ganzen Kram?

Was auch immer Sie sind, zu tun. - Ich würde nicht den Kater bestimmten Weg gehen

Wenn Sie wirklich verschiedene Ports finden müssen, konfigurieren Sie sie auf Ihre Webapp durch die übliche Konfiguration bedeutet - z.B. Spezifizieren Werte. Sie würden keine automatische Erkennung, sondern auch wird es nicht brechen auf tomcats zum nächsten Update.

Genauer gesagt, würde ich sagen, dass ich glaube, dass Sie die falsche Frage gestellt haben. Z.B. Sie haben Ihre Anforderung, für eine Lösung entschieden und gefragt, wie diese Lösung zu implementieren. Ich glaube, Sie würden bessere Antworten bekommen, wenn Sie Ihre erste Hand Anforderung angegeben und eine Lösung für diese Fragen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top