2009-05-12 8 views
2

Ich habe 2 Webapps auf demselben JBoss/Jetty Server installiert. In Jetty 5.1.14 Ich hatte die folgende Anlegestelle-web.xml, die eine der Anwendungen konfiguriert als virtueller Host laufen (auf dem gleichen Port):Wie richte ich Jetty 6 & Jboss 4.0.5 virtuelles Hosting ein?

<Configure class="org.jboss.jetty.JBossWebApplicationContext"> 
    <Call name="addVirtualHost"><Arg>app2.localhost.com</Arg></Call> 
</Configure> 

Das funktionierte völlig in Ordnung. Leider funktioniert es mit Jetty 6.1.17 überhaupt nicht. Zunächst einmal „JBossWebApplicationContext“ scheint jetzt sein „JBossWebAppContext“ genannt wird, und zum anderen die Dokumentation die ich finden konnte schlägt vor, dass ich einen Anlegesteg-web.xml verwenden, die wie folgt aussieht werden soll:

<Configure class="org.jboss.jetty.JBossWebAppContext"> 
    <Set name="VirtualHosts"> 
    <Array type="java.lang.String"> 
     <Item>app2.localhost.com</Item> 
    </Array> 
    </Set> 
</Configure> 

Aber das doesn Ich arbeite auch nicht. Die beiden Webapps werden ohne Fehler bereitgestellt, aber wenn ich versuche, unter dem virtuellen Hostnamen auf die zweite App zuzugreifen, greift sie stattdessen nur auf die erste App zu. Beide Anwendungen befinden sich im Stammkontext (dies ist nicht verhandelbar).

Wie kann ich virtuelle Hosts arbeiten lassen?

(BTW, ich hatte einen Freund senden Sie diese auf serverfault vor ein paar Tagen, aber niemand antwortete.)

Antwort

1

Diese Syntax funktioniert, wenn Sie es in dem jetty6-web.xml für jeden Web-App enthalten.

Alle Webapps benötigen die definierten virtuellen Hosts, wenn sie im selben Container ausgeführt werden. Aus irgendeinem Grund funktioniert die Bereitstellung einer WAR mit virtuellen Hosts und einer ohne WAR nicht.

+0

Ja, wir haben festgestellt, dass dies entweder ein Bug (oder eine Änderung der Funktionen von Jetty 5 bis 6) ist, dass ALLE Webapps virtuelle Hosts definiert haben müssen, wenn einer von ihnen dies tut. –