GlassFish is a open source application server started by Sun Microsystems and now sponsored by Oracle. As part a POC (proof of concept) project, I started exploring GlassFish.
Installation:
I opted to install GlassFish in a Linux (RHEL 5.4) server, since I'm more comfortable on Linux.
Download GlassFish from http://glassfish.java.net/public/downloadsindex.html .
There are couple of options. I selected Open Source Distribution -> Full Platform -> GUI-based installer for Linux. It comes with a executable shell script like glassfish-3.1.2.2-unix.sh.
Problems faced:
Since my Linux server was a VMware VM, the GUI display of installer was not fitting to the full screen of vSphere console. Basically the installer opens a xterm and accessing xterm from putty remote console is not a straight forward option.
To get rid of it, I enabled vncserver on Linux machine and accessed the vnc session using UltraVNCViewer.
Now installer xterm got displayed perfectly, I chose typical installation and selected to setup service (init scripts). It created a default domain (domain1) and installation completed smoothly.
GlassFish defaults.
Administration console: https://localhost:4848/
How to restart?
/etc/init.d/GlassFish_domain1 start/stop/restart
Other details
-----------------------
Domain Name: domain1
Admin port: 4848
Http port: 8080
Username: admin
Server Log: <glassfish-installation-root>/glassfish/domains/domain1/logs
-----------------------
Start/stop/list domains
asadmin command will be available in installation directory. Add it to path.
asadmin start-domain
asadmin stop-domain
asadmin list-domains
Starting and Stopping the Database Server (not used at this moment)
To start the JavaDB server from its default location: asadmin start-database --dbhome as-install-parent/javadb
To Stop the Java DB Server: asadmin stop-database
Starting the Administration Console
Access: http://localhost:4848 and login.
Problem faced: When tried to login this URL from remote machine, it gave error
Glassfish version 3.1.2: Secure Admin must be enabled to access the DAS remotely.
Resolution:
Activate the secure admin by using the following command line and restart glassfish.
asadmin --host [host] --port [port] enable-secure-admin
The host is the host name or IP address of the Glassfish Server.
The port is the target Glassfish Server port i.e. 4848.
Deploying and Undeploying the Sample Application Fromthe CommandLine
asadmin deploy myapp.war
Access the application by typing the following URL in your browser:
http://localhost:8080/myapp
To List Deployed Applications Fromthe CommandLine:
asadmin list-applications
To Undeploy the Sample Application Fromthe CommandLine
asadmin undeploy myapp
Deploying and Undeploying Applications by using the Administration Console
Launch the Administration Console by typing the following URL in your browser: http://localhost:4848
Click Applications in the left column -> Click the Deploy button -> Select Packaged File -> Browse -> Specify a description -> click OK
Select the check box next to the myapp application and click the Launch link to run the application.
Access the application using https://10.31.177.78:8181/myapp
Similarly it can be undeployed using undeploy button
Problem faced: Linux firewall has blocked the 8080 & 8181 ports. Unblocked it.
To Deploy the Sample Application Automatically
cp myapp.war as-install/domains/domain-name/autodeploy
To Undeploy the Sample Application Automatically
cd as-install/domains/domain-name/autodeploy
rm myapp.war