Glassfish



Serveur d'application JavaEE open-source

=Installation & Démarrage=

Vérifiez la version de votre JRE : Java 7 est requis. javac -version

Téléchargez le zip depuis https://glassfish.java.net/download.html

Lisez https://glassfish.java.net/getstarted.html

unzip glassfish-4.0-ml.zip

cd glassfish4

./bin/asadmin

./bin/asadmin start-domain

Ouvrez la console Web http://localhost:4848

IMPORTANT : Sécurisez votre console d'administration qui n'est pas sécurisé par défaut : https://glassfish.java.net/docs/4.0/security-guide.pdf

Installez le plugin Glassfish dans votre IDE : https://glassfish.java.net/ide.html

=Créez une application simple Hello avec Maven=

cd .. mvn -DarchetypeGroupId=org.codehaus.mojo.archetypes \ -DarchetypeArtifactId=webapp-javaee7 \ -DarchetypeVersion=0.4-SNAPSHOT \ -DarchetypeRepository=https://nexus.codehaus.org/content/repositories/snapshots/ \ -DgroupId=fr.polytech-grenoble.ricm.ecom \ -DartifactId=hello \ -Dversion=0.1.0-SNAPSHOT \ -Dpackage=ecom \ -Darchetype.interactive=false \ --batch-mode \ --update-snapshots \ archetype:generate

Remarque: il y a d'autres archetypeArtifactId disponibles

cd hello mvn clean package

Remarque : il est possible de déployer l'artefact à l'issue du packaging en modifiant le pom.xml au préalable. mvn clean package glassfish:deploy

=Déploiement= Vous pouvez déployer votre application (ejbjar, war, ear) via la console ou bien via la ligne de commande suivante ./bin/asadmin list-applications

./bin/asadmin deploy --name hello ../hello/target/hello-0.1.0-SNAPSHOT.war

./bin/asadmin list-applications

./bin/asadmin list-applications --type war

./bin/asadmin list-sub-components --appname hello hello.ear

Ouvrez http://localhost:8080/hello-0.1.0-SNAPSHOT/

Modifiez et re-construisez votre application

en ajoutant :
 * un JSP hello.jsp
 * une Servlet HelloServlet.java
 * un Web Service HelloWS.java
 * un RESTful Service HelloREST.java
 * une Servlet WebSocket
 * une Servlet asynchrone (en utilisant les annotations JSR315)
 * une Servlet HelloAServlet.java (en utilisant les annotations JSR315)
 * un Filter (en utilisant les annotations JSR315)

Rédeployez celle-ci

./bin/asadmin redeploy --name hello --contextroot "hello" ../hello/target/hello-0.1.0-SNAPSHOT.war

Ouvrez
 * http://localhost:8080/hello
 * http://localhost:8080/hello/hello.jsp?name=Didier
 * http://localhost:8080/hello/helloann?name=Didier
 * http://localhost:8080/hello/HelloWSService
 * http://localhost:8080/hello/HelloWSService?wsdl

Regardez le contenu du journal du domaine. tail glassfish/domains/domain1/logs/server.log

=Undeploy=

./bin/asadamin undeploy hello

=Arrêt=

IMPORTANT : pensez à arrêter votre serveur et la VM sur lequel il s'exécute quand vous utilisez une plateforme Cloud. ./bin/asadamin stop-domain domain1

=Complément=

VisualVM
Lancez la console VisualVM. Installez le plugin pour Glassfish (Tools > Plugins > Available Plugins). Relancez la console VisualVM Connectez vous au serveur en utilisant la console VisualVM.

jvisualvm &

OSGi Felix
Accès aux commandes du Gogo Shell de Felix ./bin/asadmin osgi lb -l

Lire http://docs.oracle.com/cd/E26576_01/doc.312/e24928/overview.htm#gjjxt

=Documentation=
 * http://docs.oracle.com/javaee/7/firstcup/doc/home.htm
 * https://glassfish.java.net/docs/4.0/reference-manual.pdf
 * https://glassfish.java.net/docs/4.0/administration-guide.pdf
 * https://glassfish.java.net/docs/4.0/application-deployment-guide.pdf