Jboss In Action Capitolo 3

3.1 Understanding deployment

Ci sono due passi nel processo di deploy. L'azione che indica all'AS il deploy e il deploy vero e proprio dell'AS

3.1.1 Deploying an application

La dir di deploy viene scandita all'avvio dell'AS oppure se l'hot deploy è attivo l'operazione viene fatta periodicamente. Con l'hot deploy se l'applicazione viene aggiornata l'AS effettua l'undeploy e il deploy nuovamente. Questo però causa la perdita di tutte le sessioni attive al momento.
Un altro modo per fare il deploy di un'applicazione è eseguire da shell il seguente comando

twiddle invoke "jboss.system:service=MainDeployer" deploy /some/path/myapp.ear

il path dell'applicazione è fuori da quello di jboss, questo causerà il deploy dentro la cartella tmp ma al prossimo avvio l'applicazione non partirà perchè non si trova nella cartella di deploy. Per fare l'undeploy di questa applicazione eseguire lo stesso comando ma al posto dell'opzione di deploy sostituire undeploy.

3.1.2 Understanding application packaging

Per avere un controllo più fine dell'applicazione invece di usare i pacchetti compressi war o ear si possono mettere gli stessi esplosi in directory. Così si possono fare modifiche direttamente mentre l'applicazione è in esecuzione.
Un vantaggio della struttura tutta in un file è che non possono esserci deploy parziali dell'applicazione.
Anche quando l'applicazione viene posta nella cartella di deploy in formato compresso poi l'AS per eseguirla la fa esplodere in server/default/tmp/deploy ma li non conviene fare modifiche perchè poi la cartella alla chiusura del jboss o al riavvio viene cancellata quindi le modifiche si perdono.
Ogni tipo di file ha il suo primary description ecco un elenco

tipo file descriptor
WAR WEB-INF/web.xml
EAR META-INF/application.xml
SAR META-INF/jboss-service.xml
JAR META-INF/ejb-jar.xml
RAR META-INF/ra.xml

Nell'immagine sotto si vede la struttura espansa di un ear, con il .war e l'ejb.jar all'interno.

directory-schema
Salvo diversa indicazione, il contenuto di questa pagina è sotto licenza Creative Commons Attribution-ShareAlike 3.0 License