[java] JBoss: app sneller deployen.

Pagina: 1
Acties:

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Een applicatie deployen onder JBoss kan wel even duren als je een war moeten samenstellen (dus hele zooi files zippen), moet deployen naar JBoss.. JBoss gaat het dan weer uitpakken en begint dan met het echte deployen. Ok.. dit duurt lang.

Ik heb intussen al een enorme tijdwinst kunnen krijgen door te werken met een exploded directory in JBoss. Dan hoeft het zippen/unzippen niet meer. Ik copieer alle nieuwe files naar de deploy directory en daarna touch ik de web.xml even. Dit werkt als een tiet.

Alleen duurt het deployen (dus het initialiseren van de webapp) zelf ook nog even. Als je in jsp`s bezig bent dan is het best wel vervelend als je iedere keer weer moet redeployen. Daarom mijn vraag: is het mogelijk om een jsp live te reloaden (zonder de applicatie opnieuw te deployen)? Ik weet dat zoiets met MyEclipse mogelijk is, maar is zoiets ook mogelijk met standaard JBoss? Ik heb al een tijdje zitten bladeren, maar eigelijk niet echt iets kunnen vinden.

[ Voor 4% gewijzigd door Alarmnummer op 22-03-2005 15:57 ]


  • ronaldmathies
  • Registratie: Juni 2001
  • Niet online
Ja, dat is de exploded deployment, je kan dan uiteindelijjk één enkele JSP vervangen als je dat wilt. Exploded is niets anders als de zip (war in dit geval) uit te pakken in de deploy map. Let er wel op de de map moet eindigen op .war anders word deze niet herkend.

3015 Wp-z 5360 Wp-nno op 2 x SMA-SB3600 TL-21, Warmtepomp: ERSC-VM2CR2 / PUHZ-SHW140 YHA, WTW Q350, EV Kia Ev6 GT-Line


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
ronaldmathies schreef op dinsdag 22 maart 2005 @ 16:17:
Ja, dat is de exploded deployment, je kan dan uiteindelijjk één enkele JSP vervangen als je dat wilt. Exploded is niets anders als de zip (war in dit geval) uit te pakken in de deploy map. Let er wel op de de map moet eindigen op .war anders word deze niet herkend.
Zover was ik al ;) Het ging me puur om het reloaden van een enkele JSP zonder dat de applicatie volledig geredeployed moet worden (dus opnieuw wordt ingeladen). Bij grotere projecten kan dit wel even duren en je zult je iedere keer weer moeten inloggen. Vooral als je meer met de vormgeving bezig bent kan dit nogal vervelend zijn.

  • ronaldmathies
  • Registratie: Juni 2001
  • Niet online
Ik snap het denk ik niet helemaal, maar als je de complete applicatie uitgepakt in de deploy map zet. En je gaat één enkele JSP bestand veranderen en vervangen in je deploy map dan wordt toch alleen die enkele bijgewerkt. MyEclipse doet volgens mij precies hetzelfde.

3015 Wp-z 5360 Wp-nno op 2 x SMA-SB3600 TL-21, Warmtepomp: ERSC-VM2CR2 / PUHZ-SHW140 YHA, WTW Q350, EV Kia Ev6 GT-Line


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
ronaldmathies schreef op dinsdag 22 maart 2005 @ 16:29:
Ik snap het denk ik niet helemaal, maar als je de complete applicatie uitgepakt in de deploy map zet. En je gaat één enkele JSP bestand veranderen en vervangen in je deploy map dan wordt toch alleen die enkele bijgewerkt.
Is dat zo? JBoss checkt toch alleen de web.xml op date? En zo gauw die is aangepast gaat hij de hele applicatie redeployen (en dat wil ik dus niet voor jsp pagina`s).

  • R3b3l
  • Registratie: November 2002
  • Laatst online: 15-01 09:20
Ik me herrinneren ergens een keer gelezen te hebben dat jboss kan detecteren dat een jsp is veranderd en dan alleen die aanpassen/deployen. Maare... je kunt het ook gewoon testen :)..

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
the_r3b3l schreef op dinsdag 22 maart 2005 @ 17:00:
Ik me herrinneren ergens een keer gelezen te hebben dat jboss kan detecteren dat een jsp is veranderd en dan alleen die aanpassen/deployen. Maare... je kunt het ook gewoon testen :)..
Ik dacht dat JBoss alleen de web.xml bekeek, maar het werkt wel:

XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<target name="update.exploded"
            description="Copy all the stuff to the JBoss exploded dir"
            depends="dist">

        <copy todir="dist/pre/META-INF">
            <fileset file="conf/application.xml"/>
        </copy>

        <mkdir dir="${exploded.dir}"/>

        <copy
            todir="${exploded.dir}"
            preservelastmodified="true">
            <fileset dir="dist/pre"/>
        </copy>
    </target>

    <target name="jboss.fastdeploy"
            description="Deploy exploded dir to JBoss (faster than jboss.deploy)"
            depends="update.exploded">

        <touch file="${exploded.dir}/WEB-INF/web.xml"/>
    </target>


Ok.. dat scheelt weer een hele zooi minuten per dag.

[ Voor 109% gewijzigd door Alarmnummer op 22-03-2005 17:09 ]


  • PhoneTech
  • Registratie: Mei 2000
  • Laatst online: 08-05 12:31
Heey, ik deploy ook tientallen keren per dag, alleen dan met session en entity beans.

Nu package ik de boel naar een JAR en die gooi in in een EAR en deploy het naar de server. Ik heb zo een 80 cmp beans en een stuk of 10 session beans. Deployen duurt altijd wel effe, en al helemaal omdat ik CMP logging aan het staan.

Lukt exploded deploy ook met normale apps? ik ben altijd op zoek naar methoden om het deployen sneller te laten gebeuren (nu zo 35 seconden inclusief opstarten)

  • ronaldmathies
  • Registratie: Juni 2001
  • Niet online
Je kan het wel exploded doen, maar of het ook werkt als je één enkele klassen gaat vervangen dat weet ik niet. Dit omdat er bijvoorbeeld al klassen geladen zijn in de JVM. Hiervoor lijkt mij dat er eerst een undeployment moet plaatsvinden voordat alles herkend c.q. gebruikt gaat worden.

3015 Wp-z 5360 Wp-nno op 2 x SMA-SB3600 TL-21, Warmtepomp: ERSC-VM2CR2 / PUHZ-SHW140 YHA, WTW Q350, EV Kia Ev6 GT-Line


  • zneek
  • Registratie: Augustus 2001
  • Laatst online: 08-02-2025
ronaldmathies schreef op woensdag 23 maart 2005 @ 09:55:
Je kan het wel exploded doen, maar of het ook werkt als je één enkele klassen gaat vervangen dat weet ik niet. Dit omdat er bijvoorbeeld al klassen geladen zijn in de JVM. Hiervoor lijkt mij dat er eerst een undeployment moet plaatsvinden voordat alles herkend c.q. gebruikt gaat worden.
MyEclipse doet dit wel. Ik kan in een MyEclipse enabled project een class aanpassen, en direct de wijziging actief zien in mijn JBoss omgeving. Met Springed objecten gaat dit niet altijd goed, maar een 'normale' class wordt gewoon ge-update in de lopende JBoss instantie, zonder redeploy.

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Ze zijn al wel bezig met een het redeploy feature voor Spring.

  • ronaldmathies
  • Registratie: Juni 2001
  • Niet online
zneek schreef op woensdag 23 maart 2005 @ 19:27:
[...]


MyEclipse doet dit wel. Ik kan in een MyEclipse enabled project een class aanpassen, en direct de wijziging actief zien in mijn JBoss omgeving. Met Springed objecten gaat dit niet altijd goed, maar een 'normale' class wordt gewoon ge-update in de lopende JBoss instantie, zonder redeploy.
Oke, een collega maakt altijd de entity / session beans waardoor ik dit dus niet precies weet. Ik weet wel dat Struts bijvoorbeeld niet gaat met exploded, dit omdat de action objecten maar éénmalig geladen worden en daarna niet meer zolang de server draait of dat de applicatie ge-undeployed wordt. Dus het kan per soort functionele werking verschillen.

3015 Wp-z 5360 Wp-nno op 2 x SMA-SB3600 TL-21, Warmtepomp: ERSC-VM2CR2 / PUHZ-SHW140 YHA, WTW Q350, EV Kia Ev6 GT-Line

Pagina: 1