Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1

    Deploy intelligente di un progetto java

    Buon giorno a tutti tra qualche giorno credo di fare il mio primo deploy in java su tomcat su un server online.

    La mia webapp di cui vi parlo ha una sola pagina generata con freemarker, in cui c'è un form che carica sul server i file di testo.

    Mi chiedo ma se io avessi 2 file di configurazione, uno per la versione online ed 1 per la versione il locale del sito come faccio??

    I file che carico sul server, vengono messi nella Root del progetto; ogni volta che verrebbe fatto il deploy questi file verrebbero cancellati giusto??

    Come si risolve il problema?

    Grazie mille in anticipo e al solito mi auguro di non essere troppo scarso , non assassinatemi

    Ciao Ciao!!

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da cataDesign Visualizza il messaggio
    Mi chiedo ma se io avessi 2 file di configurazione, uno per la versione online ed 1 per la versione il locale del sito come faccio??
    Innanzitutto dipende da cosa intendi esattamente per file di "configurazione" (file .properties di Java? file XML?), poi da chi e come li carica e con quale criterio (es. "cercare in classpath unaDir/xyz.properties").
    A seconda degli approcci, si possono studiare meccanismi che permettono, in locale, di fare un "override" della configurazione. Esempio: prima di cercare in classpath unaDir/xyz.properties verificare se esiste una variabile di ambiente es. MY_LOCAL_CONF che contiene il pathname completo ad un file di properties da usare.

    Quote Originariamente inviata da cataDesign Visualizza il messaggio
    I file che carico sul server, vengono messi nella Root del progetto; ogni volta che verrebbe fatto il deploy questi file verrebbero cancellati giusto??
    Dipende come fai il deploy, se con FTP o altro, se (almeno per quanto riguarda Java) fai il deploy di un war completo o dei file "sfusi" e ad esempio se usi un tool per FTP se usi un meccanismo di "sincronizzazione" o è solo un "update" e basta.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    Diciamo che il file di configurazione è scritto in java con variabili statiche, ma sto pensando di modificarlo con un file .properties ( ho scoperto ora l'esistenza )

    Mentre per il Deploy da FTP viene fatto tramite filezilla proprio come avviene per il PHP e poi viene restartato il server?

    Sto pensando ma salvare i file importati in una cartella esterna al progetto sarebbe una buona idea?

  4. #4
    Uppete

  5. #5
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da cataDesign Visualizza il messaggio
    Diciamo che il file di configurazione è scritto in java con variabili statiche
    Cioè? Hai "cablato" le configurazioni in un sorgente?

    Quote Originariamente inviata da cataDesign Visualizza il messaggio
    Mentre per il Deploy da FTP viene fatto tramite filezilla proprio come avviene per il PHP e poi viene restartato il server?
    Un server non si riavvia per intero solo perché hai aggiornato dei file tramite FTP. Tomcat è abbastanza intelligente da monitorare ad esempio le pagine JSP, se ne aggiorni una lui poi la ritrasforma in servlet.
    Se invece vuoi aggiornare classi java o librerie, generalmente è meglio stoppare Tomcat, aggiornare e riavviarlo (io perlomeno faccio così).

    Quote Originariamente inviata da cataDesign Visualizza il messaggio
    Sto pensando ma salvare i file importati in una cartella esterna al progetto sarebbe una buona idea?
    Se intendi una cartella che non sia sotto la context-root della applicazione ... beh, sì, in generale è meglio.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  6. #6
    Quote Originariamente inviata da andbin Visualizza il messaggio
    Cioè? Hai "cablato" le configurazioni in un sorgente?
    Si ho creato una classe di questo tipo:

    codice:
    class config{
    
             public static String getDBname( String dBname ){
                     return dBname;
             }
    
    
          private final static String dBname = "myDB";
    
    
    }
    Prendo i dati del DB tramite i get, pensi sia errato?


    Se mettessi tutto sotto una cartella esterna dalla context-root, posso sempre accedere da browser a questi file, per visualizzarli o scaricarli direttamente?
    Ultima modifica di cataDesign; 05-12-2013 a 17:21 Motivo: Errore nella funzione postata

  7. #7
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Quote Originariamente inviata da cataDesign Visualizza il messaggio
    Si ho creato una classe di questo tipo:

    codice:
    class config{
    
             public static String getDBname( String dBname ){
                     return dBname;
             }
    
    
          private final static String dBname = "myDB";
    
    
    }
    Prendo i dati del DB tramite i get, pensi sia errato?
    E' inutile e scomodo... Se devi cambiare un parametro ti tocca ricompilare e fare un nuovo deploy. Molto meglio usare un .properties esterno in modo che se qualcosa cambia devi solo riavviare la web app.
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  8. #8
    si questo è vero, ma ogni volta che devo prendere un dato devo fare il parsing di questo file?

  9. #9
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Quote Originariamente inviata da cataDesign Visualizza il messaggio
    si questo è vero, ma ogni volta che devo prendere un dato devo fare il parsing di questo file?
    I file di properties si gestiscono, al livello basilare, con la classe java.util.Properties che di fatto è una "mappa" che contiene associazioni chiave-valore. E Properties ha il metodo load(InputStream inStream) che è quello usato tipicamente per caricare i dati nella istanza di Properties.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  10. #10
    Si questo mi è chiaro, non capisco pero questo avrei sempre bisogno di caricare questo file nello stream ogni volta che mi serve oppure lo potrei caricare e lasciare nello stream all'avvio dell progetto?

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.