Home > Mondo Windows, Server > Server Glassfish su Windows XP o 2003 Server

Server Glassfish su Windows XP o 2003 Server

Ho avuto la necessità di installare un server Glassfish v2.1 su una macchina Windows 2003 server, messo su come servizio di sistema e quindi avviato in automatico all’avvio del computer.

Per installare Glassfish prima di tutto è necessario avere installato una recente versione di JRE o JDK nel sistema, e settare correttamente la variabile di ambiente

JAVA_HOME

tra le variabili di sistema; il percorso specificato per questa variabile deve essere la directory principale dell’installazione dell’ambiente java, per intenderci sotto di essa è possibile trovare le cartelle ‘lib’ e ‘bin’.

Fatto ciò, avendo scaricato il file di Glassfish (è un file con estensione .jar) dal sito https://glassfish.dev.java.net/, apriamo un prompt dei comandi, portiamoci nella directory dove è presente il file appena scaricato, e lanciamo il comando:

java -Xmx256m -jar glassfish.jar

(al posto di glassfish.jar inserire il nome preciso del file)

verrà creata una directory con i file del server scompattati. Se vogliamo possiamo rinominare questa cartella e spostarla nel path che sarà definitivo, ad esempio potrebbe essere ‘c:\programmi\glassfish‘.

Sempre dal prompt dei comandi, portiamoci sulla directory definitiva (cd c:\programmi\glassfish) e lanciamo il comando:

lib\ant\bin\ant -f setup.xml

Questo comporterà la creazione dell’ambiente di default del server Glassfish, quindi il dominio di default sarà domain1, le porte utilizzate per i servizi saranno la 8080 e la 8081 per il browsing delle applicazioni installate e la 4848 per l’amministrazione via web, che di default usa le credenziali :

username: admin

password: adminadmin

Consiglio di cambiare la password di admin al primo accesso all’amministrazione del server.

Per installare il Server come servizio di Windows, bisogna prima di tutto scaricare il file:

GlassfishSvc.jar

copiarlo nella home directory del server (c:\programmi\glassfish) e lanciare sempre da prompt il comando:

java -jar GlassfishSvc.jar -i

tra i servizi di Windows ora è possibile trovare la riga del server, e dalla sue impostazioni è possibile settare l’avvio automatico allo startup del pc o gli altri parametri caratteristici di un servizio windows.

Inoltre l’installazione di questo servizio prevede, oltre al parametro -i che sta per install, altri parametri che possono risultare utili in base ad una installazione non di default del server; questi sono (preso dall’help del file):

-i        Installs a Windows service for Glassfish.
-u        Uninstalls a Windows service for Glassfish.
-n name   Name for the Windows service. Use double quotes around names that contain spaces.  Defaults to GlassfishAppServer.
-d path   Directory where Glassfish is installed. Use double quotes around paths with spaces, and escape back slashes.
          Defaults to current directory.
-m domain Name of the Glassfish domain to start and stop. Defaults to domain1.
-a user   Glassfish admin user name.  Defaults to admin.
-p pwd    Glassfish admin password.
          A password.txt file will be created in the Glassfish install directory containing
          the password in  plain text, and the Windows service will be configured to read
          from it. This is usually not necessary. If no password is passed
          in, the password.txt file will not be created.

Non è finita qui però: per evitare di far chiudere Glassfish quando si disconnette l’utente di sistema, è necessario aggiungere la seguente riga al file c:\programmi\glassfish\domains\domain1\config\domain.xml:

<jvm-options>-Xrs</jvm-options>

Va inserita insieme alle già presenti righe che hanno una struttura del tipo <jvm-options>qualcosa</jvm-options>

Salvare il file domain.xml, e se Glassfish era già stato fatto partire, fare un riavvio del servizio.

Inoltre, se l’installazione avviene in un Windows 2003 Server, è necessario anche aggiungere la seguente riga nel file c:\programmi\glassfish\lib\processLauncher.xml:

<sysproperty key="-Xrs"/>

Questa riga va inserita all’interno della struttura del tag <process name=”as9-server”>

Mondo Windows, Server , , , , , , , , ,

  1. giovanni
    19 luglio 2009 a 22:04 | #1

    ho letto il tuo post…e ti vorrei fare qualche domanda riguardo ad un mio problema:
    stò scrivendo un’applicazine entrerprise, utilizzando glassfish,ti vorrei chiedere qualche consiglio su come tirare su , e deployare il proggetto automaticamente una volta avviato windows.
    (in pratica una volta acceso il pc vado direttamente sul browser, scrivo l’indirizzo e mi parte la mia applicazione)
    Grazie.

  2. 25 agosto 2009 a 9:06 | #2

    Ciao, scusami se ti rispondo solo dopo più di un mese, ma non ho proprio avuto tempo e forze di gestire questo piccolo blog, sono stato sommerso da lavoro e studio.
    Quando glassfish parte, tutte le applicazioni già deployate con quel domain partono in automatico, quindi se all’avvio fai partire in automatico il server, allora anche le web applicattion lo saranno. Se invece quello che cerchi tu è deployare una applicazione come ROOT application, basta che all’atto del deploy, dall’interfaccia di amministrazione di glassfish, usi come context root soltanto ‘/’.

  3. Massimo
    25 agosto 2009 a 11:30 | #3

    Ciao,
    è la prima volta che sviluppo un’applicazione con jsf 1.2 e ho un problema. Uso netbeans 6.5, creo una semplice maschera di login, devo gestire il tasto annulla facendo niente altro che pulire i campi (user e password). Dalle istruzioni in mio possesso dovrebbe funzionare così:
    public String btAnnuOper_action() {
    // TODO: Replace with your code
    tfUserName.setValue(“”);
    return null;
    }
    invece mi rende un errore “Cannot find symbol” sul nome del campo.
    Ho controllato tutto più volte ma mi sembra tutto a posto.
    Puoi aiutarmi ?

    Grazie
    Massimo

  4. 25 agosto 2009 a 16:19 | #4

    Ciao,
    di che tipo è il tuo oggetto ‘tfUserName’?
    Comunque io semplicemente creerei un bean con gli oggetti String mappati (attraverso l’attributo value) ad i tag di inputtext o inputSecret; esempio:

    nella pagina web

    < h:inputText id="username" value="#{Bean.nome}"/ >

    nel bean

    public class Bean
    {
    private String nome = "";

    public String getNome(){
    return nome;
    }
    public void setNome(String nome){
    this.nome=nome;
    }
    public String btAnnuOper_action() {
    nome="";
    return null;
    }
    }

    Fammi sapere, a presto

    Lorenzo

  1. Nessun trackback ancora...