TOTD # 77: Running Seam examples with GlassFish
Posted by arungupta on April 3, 2009 at 11:33 AM EDT
![]() |
Seam is a full-stack solution to assemble complex web applications using simple annotated classes, a rich set of UI components, and very little XML. It integrates Ajax and Business Process Modeling with several Java EE technologies such as Java Server Faces (JSF), Java Persistence API (JPA), and Enterprise Java Beans (EJB 3.0). |
GlassFish is a Java EE compliant application server so it's natural to pick GlassFish as your deployment platform for Seam applications :)
This blog is going to show how Seam samples can be easily run on GlassFish.
- Download Seam 2.1.1 GA from here and unzip.
- Build "examples/jpa" sample as:
~/tools/jboss-seam-2.1.1.GA/examples/jpa >ant glassfish
Buildfile: build.xml
glassfish:
initcopy:
initpoms:
[echo] Setting up dependencies
[mkdir] Created dir: /Users/arungupta/tools/jboss-seam-2.1.1.GA/classes/poms
[copy] Copying 1 file to /Users/arungupta/tools/jboss-seam-2.1.1.GA/classes/poms
[artifact:install] [INFO] Installing /Users/arungupta/tools/jboss-seam-2.1.1.GA/classes/poms/root.pom to . . .
. . .
init.war:
war:
[copy] Copying 27 files to /Users/arungupta/tools/jboss-seam-2.1.1.GA/examples/jpa/exploded-archives-glassfish/jboss-seam-jpa.war
[copy] Copying 7 files to /Users/arungupta/tools/jboss-seam-2.1.1.GA/examples/jpa/exploded-archives-glassfish/jboss-seam-jpa.war/WEB-INF/lib
noejb.war:
[copy] Copying 18 files to /Users/arungupta/tools/jboss-seam-2.1.1.GA/examples/jpa/exploded-archives-glassfish/jboss-seam-jpa.war/WEB-INF/lib
[copy] Copying 2 files to /Users/arungupta/tools/jboss-seam-2.1.1.GA/examples/jpa/exploded-archives-glassfish/jboss-seam-jpa.war
[copy] Copying 4 files to /Users/arungupta/tools/jboss-seam-2.1.1.GA/examples/jpa/exploded-archives-glassfish/jboss-seam-jpa.war
distributable.war:
noejb.archive:
[jar] Building jar: /Users/arungupta/tools/jboss-seam-2.1.1.GA/examples/jpa/dist-glassfish/jboss-seam-jpa.war
BUILD SUCCESSFUL
Total time: 5 seconds - Deploy the sample as:
~/tools/jboss-seam-2.1.1.GA/examples/jpa >~/tools/glassfish/v2.1/glassfish/bin/asadmin deploy dist-glassfish/jboss-seam-jpa.war
Command deploy executed successfully.
The app is now accessible at "http://localhost:8080/jboss-seam-jpa" and here are some of the captured screenshots:



Simple and easy!
- Build "examples/hibernate" as:
~/tools/jboss-seam-2.1.1.GA/examples/hibernate >ant glassfish
Buildfile: build.xml
glassfish:
initcopy:
initpoms:
[echo] Setting up dependencies
[copy] Copying 1 file to /Users/arungupta/tools/jboss-seam-2.1.1.GA/classes/poms
[artifact:install] [INFO] Installing /Users/arungupta/tools/jboss-seam-2.1.1.GA/classes/poms/root.pom to /Users/arungupta/.m2/repository/org/jboss/seam/root/2.1.1.GA/root-2.1.1.GA.pom
. . .
distributable.war:
noejb.archive:
[jar] Building jar: /Users/arungupta/tools/jboss-seam-2.1.1.GA/examples/hibernate/dist-glassfish/jboss-seam-hibernate.war
BUILD SUCCESSFUL
Total time: 6 seconds
- Deploy the sample as:
~/tools/jboss-seam-2.1.1.GA/examples/hibernate >~/tools/glassfish/v2.1/glassfish/bin/asadmin deploy dist-glassfish/jboss-seam-hibernate.war
Command deploy executed successfully.
The app is now accessible at "http://localhost:8080/jboss-seam-hibernate" and has exactly similar snapshots as shown in "jboss-seam-jpa" sample. Simple and easy, yet again!
- Build "examples/jee5/booking" and deploy as:
~/tools/jboss-seam-2.1.1.GA/examples/jee5/booking >ant
Buildfile: build.xml
initcopy:
initpoms:
[echo] Setting up dependencies
[copy] Copying 1 file to /Users/arungupta/tools/jboss-seam-2.1.1.GA/classes/poms
[artifact:install] [INFO] Installing /Users/arungupta/tools/jboss-seam-2.1.1.GA/classes/poms/root.pom to /Users/arungupta/.m2/repository/org/jboss/seam/root/2.1.1.GA/root-2.1.1.GA.pom
[copy] Copying 1 file to /Users/arungupta/tools/jboss-seam-2.1.1.GA/classes/poms
. . .
archive:
[jar] Building jar: /Users/arungupta/tools/jboss-seam-2.1.1.GA/examples/jee5/booking/dist/jboss-seam-jee5-booking.jar
[jar] Building jar: /Users/arungupta/tools/jboss-seam-2.1.1.GA/examples/jee5/booking/dist/jboss-seam-jee5-booking.war
[jar] Building jar: /Users/arungupta/tools/jboss-seam-2.1.1.GA/examples/jee5/booking/dist/jboss-seam-jee5-booking.ear
BUILD SUCCESSFUL
Total time: 5 seconds
~/tools/jboss-seam-2.1.1.GA/examples/jee5/booking >~/tools/glassfish/v2.1/glassfish/bin/asadmin deploy dist/jboss-seam-jee5-booking.ear
Command deploy executed successfully.
The application is now accessible at "http://localhost:8080/seam-jee5-booking". Wow, that's simple and easy as well!
Here are some more useful pointers realted to Seam and GlassFish:
- Chapter 39 of the Seam Community Documentation even describes how to deploy an application created using seam-gen on GlassFish.
- Dan Allen, the author of Manning's Seam in Action, presented a webinar at TheAquarium Online.
- Several other Seam entries @ TA.
- Deploying
a seam-gen project to GlassFish (blog
entry) - Here is a quote from the blog:
GlassFish has a very sexy administrative console, but it also has a very sexy commandline tool known as asadmin. The asadmin tool gives you virtually unbounded control over the application server, including core tasks such as starting and stopping the application server, deploying and undeploying applications, and setting up database connection pools, amidst a plethora of other controls. You'll see that my modified seam-gen tool takes advantage of a handful of these commands.
And another one ...
GlassFish gives you efficiency through automation, which is undoubtedly the most effective way to become efficient. ... GlassFish volunteers itself to participate in a script and is the reason why I choose it as my preferred application server. - GlassFish support added to seam-gen: It is certainly exciting to know that there are targets like "gf-deploy-datasource", "gf-deploy-hibernate", and "gf-prepare" available to Seam developers out-of-the-box.
- Sample Application using JSF, Seam, and Java Persistence APIs on GlassFish - detailed step-by-step blog explaining how to run Seam applications on GlassFish
Are you deploying your Seam applications on GlassFish ?
Happy Seaming on GlassFish!
Please leave suggestions on other TOTD (Tip Of The Day) that you'd like to see. A complete archive of all the tips is available here.
Technorati: totd seam glassfish javaee javaserverfaces ejb jpa
Related Topics >>
Blog Links >>
- Login or register to post comments
- Printer-friendly version
- arungupta's blog
- 1530 reads






