Announcement

Collapse
No announcement yet.

WAR in JBOSS neu laden

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • WAR in JBOSS neu laden

    Hi!

    Kann man JBOSS irgendwie dazubringen
    ein WAR-Verzeichnis (kein WAR-File) neu zu laden ? Ich hab' schon versucht das Datum des Verzeichnisses zu aktualisieren - hat nix gebracht.

    Danke und lG
    Manfred

  • #2
    Hallo Manfred,

    Bei exploded WARs wird die web.xml Datei überwacht. Ein touch (Datum aktualisieren) darauf deployt das Verzeichnis neu. Bei exploded EARs ist es das application.xml.

    Gruß,

    Alwi

    Comment


    • #3
      danke, funktioniert toll.
      Wie macht das der JBoss eigendlich mit dem Überwachen von Files ? Pollt der ? - Soweit ich weiß, gibt es in Java keine FileSystem-Überwachung - oder doch ?

      lG Manfre

      Comment


      • #4
        Der JBoss pollt tatsächlich. Der DeploymentScanner startet einen Thread, der regelmäßig das deploy-Verzeichnis nach neuen deployfähigen Dateien durchsucht. Alles bereits deployte merkt er sich und überprüft beim nächsten Durchlauf, ob es noch da ist (wenn nicht -> undeploy) oder ob es sich geändert hat (redeploy). Standardmäßig macht er das alle paar Sekunden. Mich wundert auch immer wieder, wie gut das funktioniert :-)

        File System Monitoring (asynchron, also ohne pollen) gibt es in Java nicht. Mit JNI kriegt man das wahrscheinlich hin, aber dann muß man es für alle OS (im schlimmsten Fall für alle Dateisysteme) neu bauen.

        Gruß,

        Alwi

        Comment


        • #5
          Hallo,
          genau das funktioniert bei mir leider irgendwie nicht... ich habe ein build.xml, die zuerst meine java-files compiliert und dann ein war daraus macht:

          Code:
          <?xml version="1.0" encoding="UTF-8"?>
          
          <!--ANT-File to compile the java-files and create
              a war-file
              -->
          
          <project name="myapp" default="build">
          
          <!--include build properties-->
              <property file="build.properties"/>
          
          <!--define classpath-->
              <path id="path.cp">
                  <pathelement location="${dir.classes}"/>
                  <fileset dir="${dir.lib}">
                      <include name="**/*.jar"/>
                  </fileset>
              </path>
          	
          <!--build classes and create jar file-->
              <target name="build">
                  <javac target="1.4" source="1.4" srcdir="${dir.src}" destdir="${dir.classes}" classpathref="path.cp"/>
              </target>
          
             <target name="war" depends="build">
                <war destfile="./myapp.war" webxml="./web.xml">
                   <!--<fileset dir="./xslt"/>-->
                   <lib dir="./lib">
                   </lib>
                   <classes dir="./classes"/>
                </war>
              </target>
          </project>
          Das funktioniert aus Eclipse auch wunderbar, die Console sagt alles gut gelaufen. Nur werden die Änderungen nicht übernommen. Selbst wenn ich einen Fehler reinbaue, z.B. ne { lösche, funktioniert alles weiterhin. Nur wenn ich JBoss neu starte werden die Änderungen übernommen. Woran liegt das?

          DANK EUCH!!!

          strauberry

          Comment

          Working...
          X