2009-07-23 4 views
0

Ich habe ein Service-Framework mit Hessian geschrieben und möchte URL beibehalten, aber die Flexibilität von Auto-Deploy.Wie kann eine Tomcat WebApp Subdienste automatisch bereitstellen?

Wenn ich einen Service.war bereitstellen, kann ich es gut mit/Service zugreifen, aber ich möchte einen allgemeinen Ort für alle Dienste.

Wie könnte ich einen separaten Kontext haben, in dem alle Dienste leben und automatisch bereitgestellt werden. Genauso wie es axis2.war mit seinem Dienstverzeichnis macht?

Zum Beispiel: Ich stelle eine explodierte MyBridge.war bereit, die ein Verzeichnis enthält, das Dienste genannt wird. Ich stelle HelloWorldService.rar innerhalb der MyBridge.war/WEB-INF/Dienste bereit und es wird bereitgestellt.

Ich kann dann auf MyBridge/HelloWorldService zugreifen?

kann dies getan werden? Ich versuche Auto-Deployment zu machen, ohne Spring und Hessian und nur Hessian zu benutzen.

Antwort

0

Axis2 tut es durch eine einfache Servletzuordnung definieren:

<servlet-mapping> 
    <servlet-name>AxisServlet</servlet-name> 
    <url-pattern>/services/*</url-pattern> 
</servlet-mapping> 

Dies alles, was benötigt wird, ist. Sie könnten auch einen Filter verwenden. Ihr Servlet/Filter empfängt alle Anfragen an den definierten Pfad und verwendet die Ressourcen unter WEB-INF/Dienste, um sie zu bedienen. Ich glaube, dass Sie einen speziellen Klassenlader benötigen würden, um die dort gespeicherten Klassen/JAR-Dateien zu laden.

Wenn Sie MyBridge/HelloWorldService und nicht MyBridge/services/HelloWorldService haben möchten, müssen Sie alle Anfragen an den Service servlet/filter (/ * url-pattern) übergeben. Auf diese Weise können Sie keine Verwaltungsseite erstellen.

Verwandte Themen