# Simpler HTTP-Container in JBOSS - Geht das?



## piecko (8. Okt 2009)

Hallo zusammen,

ich habe folgendes Problem:

Ich habe eine Flex-Applikation mit Anbindung an den JBOSS programmiert. 
Ich würde gerne die Flex-Clients mit der äußerst nützlichen Update-Funktion automatisch updaten.
Jetzt zu meinem Problem:
ich muss in einem http-container eine xml-Datei zum Download anbieten, wie auch in einem Unterordner "files" die entsprechenden UpdateDateien.
Unter Tomcat6 hab ich im Deploy-Ordner einfach mein "updates"-Verzeichnis angelegt und die Welt war schön, leider scheint das unter dem JBoss nicht zu funzen.  :bahnhof:
Wäre schade, wenn ich wegen so nem Ding jetzt noch nen Apache aufsetzen müsste.

Gruß

Piecko


----------



## FArt (8. Okt 2009)

Du kannst Flex auch unter JBoss verwenden, und bist nicht einmal der erste:
jboss flex - Google-Suche

Für weitere Fragen empfehle ich dir das JBoss-Forum.


----------



## piecko (8. Okt 2009)

Hallo FArt,

es geht mir nicht um Flex. Meine Applikation läuft, es geht darum in einen HTTP-Container Dateien zur Verfügung zu stellen, wie man meinem ersten Post auch sehr leicht entnehmen kann :rtfm:
Und stell dir vor, ich hab auch schonmal gegoogelt.

Gruß

Piecko


----------



## maki (8. Okt 2009)

piecko hat gesagt.:


> es geht mir nicht um Flex. Meine Applikation läuft, es geht darum in einen HTTP-Container Dateien zur Verfügung zu stellen, wie man meinem ersten Post auch sehr leicht entnehmen kann :rtfm:


Aus deinem ersten Posting hab ich auch gelesen dass du vorhast Flex mit JBoss zu verheiraten, denn  wieso sollte jemand fragen wie man einen HTTP Server (JBoss hat einen integrierten Tomcat) dazu bringen kann Dokumente über HTTP auszuliefern?


----------



## piecko (8. Okt 2009)

Hi maki,

also nochmal:

Mein Problem hat in keinster Weise mit Flex zu tun.
Es geht darum dass ich neben meinem Servlet, welches mit den Flex-Clients spricht, ein simples über http freigegebenes Verzeichnis brauche, in dem Dateien zum Download bereitgestellt werden. Also neben "localhost:8080/servlet" noch ein Verzeichnis "localhost:8080/updates" <-- dieses Vezeichnis soll aber keinerlei ausführbaren Code enthalten, lediglich eine xml-Datei und ein paar exe-Files. 
Meine Frage ist also, bekomme ich den JBoss dazu, so einen einfachen Ordner zur Verfügung zu stellen. 
Vermutlich geht das über ein Dummy-Servlet, aber ich habe keinen Plan, wie ich meinen Deployment-Descriptor stricken muss, damit das funktioniert


----------



## maki (8. Okt 2009)

Ich weiss nicht was du mit Dummy-Servlet meinst, baer es git da eingrundsätzliches Problem hiermit:


> ein simples über http freigegebenes Verzeichnis brauche,


Hab ich dich richtig verstanden dass du quasi zur Laufzeit in diesem Verzeichniss deine Updates als Dateien reinkopieren möchtest?

Es ist laut Standard nichtmal sicher, dass es überhaupt Verzeichnisse gibt in einer WebApp, JBoss zB. entpackt eine war in ein Temp Verzeichniss, andere erzeugen es nur im Speicher 
IMHO sind die workarounds nie 100% zuverlässig, oder zumindest nur auf einem best. Server.

Im Falle von JBoss hiesse das, dass das komplettte Verzeichnis beim stoppen (bzw. neustart) der WebApp  gelöscht würde...

Da kann man entweder einen Apache HTTP Server per mod_jk vorschalten, oder du suchst dir einen anderen Server aus (zB. Tomcat) programmierst gegen den, bist dann aber nicht mehr portabel.
Wobei ich sowieso nicht ganz verstehe wozu du JBoss brauchst, so ohne EJBs und so...

Ein anderer Workaround wäre, mit einem sog. Stream Servlet auf einen Pfad ausserhalbs des Servers zuzugreifen, aber ist auch gegen den Standard, wobei das mit JBoss/Tomcat funktionieren sollte.


----------



## piecko (8. Okt 2009)

Hallo maki,

ich migriere gerade vom Tomcat auf den JBoss, um meine Applikation von Servlet nach Servlet + EJB zu portieren.
Ist einfach sauberer. Und zu dem Projekt gehört eben auch ein simples Verzeichnis, über das sich die Clients automatisch updaten lassen. Beim Tomcat hatte ich das einfach im "webapps" angelegt und ich kam direkt von außen dran. Da JBoss ebenfalls Tomcat einsetzt, dachte ich, dass das hier auch funktioniert.
Anscheinend erwartet der JBoss-Tomcat aber im Vergleich zum nativen Tomcat einen ordentlichen Deployment-Descriptor und ich weiß nicht, was ich ihm da reinschreiben soll, denn Java-mäßig gibts da eben nix zum Ausführen.
Und diesen Hantier mit dem Apache würde ich gerne umgehen, wenn es irgendwie möglich wäre.???:L

Gruß

Piecko


----------



## maki (8. Okt 2009)

> Anscheinend erwartet der JBoss-Tomcat aber im Vergleich zum nativen Tomcat einen ordentlichen Deployment-Descriptor und ich weiß nicht, was ich ihm da reinschreiben soll, denn Java-mäßig gibts da eben nix zum Ausführen.


IME entpackt der im JBoss integrierte Tomcat die WebApp (war) in ein Tempverzeichnis  Damit dürfte dein bisheriges vorgehen imho aussichtslos sein, egal was für einen deployment diskriptor du schreibst für die WebApp.

Wie gesagt, mit dem sog. Stream Servlet geht das (Googlesuche), dann muss dieses Stream Servlet natürlich auf einen Pfad zugreifen der ausserhalb des Server liegt.
Sauber ist das zwar nicht, aber geht.


----------



## piecko (8. Okt 2009)

Also Leute,

ich denke ich werde wohl doch den Apache aufsetzen müssen. Der "mod_proxy" scheint ja gut dokumentiert zu sein. So ein Stream-Servlet ist mir für meine Aufgabe, statische Files zu deployen, doch ziemlich durchs Knie ins Auge. 
Trotzdem danke für eure Hilfe.

Gruß

Piecko


----------

