[seam-commits] Seam SVN: r10742 - examples/trunk/booking.

seam-commits at lists.jboss.org seam-commits at lists.jboss.org
Fri May 1 15:42:23 EDT 2009


Author: dan.j.allen
Date: 2009-05-01 15:42:23 -0400 (Fri, 01 May 2009)
New Revision: 10742

Modified:
   examples/trunk/booking/readme.txt
Log:
organize instructions
add highlights, bugs, TODOs and open questions


Modified: examples/trunk/booking/readme.txt
===================================================================
--- examples/trunk/booking/readme.txt	2009-05-01 19:00:17 UTC (rev 10741)
+++ examples/trunk/booking/readme.txt	2009-05-01 19:42:23 UTC (rev 10742)
@@ -7,6 +7,8 @@
 Transaction and persistence context management is handled by the EJB 3
 container. Validation of input fields is handled by Bean Validation.
 
+= Prerequisites
+
 Please consult the Web Beans reference documentation for instructions on how to
 deploy the Web Bean implementation to JBoss AS 5. To upgrade the JSF libraries
 to JSF 2.0, go to the Seam jsf-updater-tool module and follow the instructions
@@ -15,16 +17,23 @@
 Validation is as simple as putting the JARs in the library directory of the
 application server.
 
+= First steps
+
 This example uses a Maven 2 build. To build the EJB and WAR and package them
 inside an EAR, execute the following command:
 
  mvn
 
-Then, set the JBOSS_HOME environment variable to the location of a JBoss AS 5
-installation and start the server. Maven will assume that JBoss AS is running
-on port 8080. Once that's done, you can deploy the application to JBoss AS via
-JMX by executing this command:
+Now you're ready to deploy.
 
+= Deploying a packaged archive to JBoss AS
+
+First, set the JBOSS_HOME environment variable to the location of a JBoss AS 5
+installation and start the server. You can optionally set the jboss.home Maven
+property in a settings.xml file. Maven assumes JBoss AS is running on port
+8080. (This can be changed in the plugin configuration). Once that's setup, you
+can deploy the application to JBoss AS via JMX by executing this command:
+
  mvn -o -f seam-booking-ear/pom.xml jboss:deploy
 
 You can undeploy the application via JMX using this command:
@@ -40,26 +49,71 @@
 
  mvn -o -f seam-booking-ear/pom.xml jboss:harddeploy
 
-But it's better to use the antrun plugin since it is smarter about what it
-copies, which is bound to the end of the package goal when the explode profile
-is active:
+For ease of development, you probably want to use an exploded archive instead.
 
+= Deploying an exploded archive to JBoss AS
+
+It's much better to use the antrun plugin over the jboss plugin since it's
+smarter about what it copies to the server. The antrun plugin is bound to the
+end of the package goal when the explode profile is active:
+
  mvn -o package -Pexplode
 
-You can force a restart of the application by activating the restart profile:
+This profile executes an series of Ant tasks that copy the exploded WAR,
+EJB-JAR, and EAR to the JBoss AS deploy directory.
 
+You can force a restart of the application by activating the restart profile,
+which executes an Ant task bound to the validate phase:
+
  mvn -o validate -Prestart
 
-You can remove the archive by activating the undeploy profile:
+You can remove the archive by activating the undeploy profile, which also
+executes an Ant task bound to the validate phase:
 
  mvn -o validate -Pundeploy
 
+Finally, you can undeploy and explode all in one command using both the
+undeploy and explode profiles with a standard package build:
+
+ mvn -o package -Pundeploy,explode
+
 Note that the -o puts Maven in offline mode so that it doesn't perform time
 consuming update checks.
 
-----------------------
-Unfinished intructions
-----------------------
-When this profile is activated, the maven-antrun-plugin will copy the exploded
-packages for the WAR, EJB-JAR, and EAR to the JBoss AS deploy directory. This
-all happens in the maven package phase.
+= Highlights
+
+- 3 module Maven 2 reactor project (ejb-jar, war, ear)
+- establishes a standard for Seam 3 examples
+- repeat elements are kept to a minimum in the Maven POM files (DRY)
+- JBoss datasource is deployed with the EAR to simplify packaging
+  (-ds.xml doesn't have to be deployed to JBoss AS separately)
+- supports both a packaged and exploded deployment to JBoss AS
+
+= Known issues
+
+(1) Clicking on logout throws an exception
+    java.lang.IllegalStateException: getAttribute: Session already invalidated
+      at org.apache.catalina.session.StandardSession.getAttribute(StandardSession.java:1032)
+
+(2) An attempt to login after logging out throws an exception
+    javax.faces.el.EvaluationException: java.lang.reflect.InvocationTargetException
+     at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
+
+(3) List of bookings not refreshed after a booking is created
+
+(4) Ajax is not working on blur in p:edit form fields (had to disable) 
+
+(5) No list of workspaces
+
+(6) Cannot use <f:view> in template or else it will remove the conversation id token from the view root
+
+= Open questions
+
+- How do I clear a contextual bean from a scope, in particular the session scope? This causes issue #1 and #3 above.
+
+- How do I inject an Event object into a stateful component? I get an error that there is a reference to a
+  non-serializable object from a bean declaring a non-passivating scope. This is the reason for issue #3.
+
+= TODO
+
+- use Cargo plugin to support deployment to other Java EE servers (GlassFish)




More information about the seam-commits mailing list