On 03/21/2011 07:55 PM, Dan Allen wrote:
On Mon, Mar 21, 2011 at 19:37, Denis Forveille <denis.forveille@gmail.com> wrote:

I'm trying to deploy the seam-booking app on WebSphere v8 beta (WAS).

It still fails to start. My discoveries:

Extension that have their constructor in scope "package" instead of "public" that makes the initialization to fail in WAS:
- org.jboss.seam.servlet.ServletExtension    --> Dan you wrote in a previous mail that it was solved in CR3, it is not
- org.jboss.seam.servlet.logging.TypedMessageBundleAndLoggerExtension
- org.jboss.seam.solder.logging.TypedMessageLoggerExtension
- org.jboss.seam.solder.messages.TypedMessageBundleExtension
- org.jboss.seam.solder.serviceHandler.ServiceHandlerExtension
They may be other but they have not been "seen" by the initialization process..

Dan, if you want to create JIRA for those, please let me know

Oops. I was looking at the class, not the constructor. I'll fix in HEAD. You can go ahead and file a JIRA for reference.
It seems you create them before me..lol
 

Missing jar in CR3 distribution. Both were included in CR2
- ocpsoft-pretty-time.jar (Used by org.jboss.seam.examples.booking.booking.BookingAgent)
- prettyfaces-jsf2.jar. Not sure for this one, but there is a file name pretty-config.xml under WEB-INF...Maybe this is the later
file that should not be there.

If you want me to create JIRAs for those, I will

Yep, both are needed for the example.
Two other missing jars in CR3
- commons-beanutils.jar
- commons-digester

Also there is a problem with the slf4j jar files:
- slf4j-api.jar is at version 1.6.1
- slf4j-log4j12.jar is at version 1.5.10
It was OK in CR2 (Both were at version 1.5.10)
 

And now I'm stuck with this exception at startup:

An error occured while initializing MyFaces: null
     java.util.NoSuchElementException
    at java.util.HashMap$AbstractMapIterator.makeNext(HashMap.java:124)
    at java.util.HashMap$KeyIterator.next(HashMap.java:195)
    at org.jboss.seam.faces.event.AbstractListener.getListeners(AbstractListener.java:27)
    at org.jboss.seam.faces.event.DelegatingSystemEventListener.getEventListeners(DelegatingSystemEventListener.java:48)
    at org.jboss.seam.faces.event.DelegatingSystemEventListener.processEvent(DelegatingSystemEventListener.java:36)
    at javax.faces.event.SystemEvent.processListener(SystemEvent.java:43)
    at org.apache.myfaces.application.ApplicationImpl._traverseListenerList(ApplicationImpl.java:2110)
    at org.apache.myfaces.application.ApplicationImpl.access$000(ApplicationImpl.java:118)
    at org.apache.myfaces.application.ApplicationImpl$SystemListenerEntry.publish(ApplicationImpl.java:2204)
    at org.apache.myfaces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:557)
    at org.apache.myfaces.webapp.AbstractFacesInitializer._dispatchApplicationEvent(AbstractFacesInitializer.java:251)
    at org.apache.myfaces.webapp.AbstractFacesInitializer.initFaces(AbstractFacesInitializer.java:143)
    at org.apache.myfaces.webapp.StartupServletContextListener.contextInitialized(StartupServletContextListener.java:112)
    at com.ibm.ws.webcontainer.webapp.WebApp.notifyServletContextCreated(WebApp.java:1635)

I will try to investigate why this occur

Ah, chances are Seam Faces is assuming that a class will in fact be a bean. However, it never checks to ensure this is the case. It should likely be more defensive. As to why the class is not a bean, that's another story.
FYI, at line "AbstractListener.java:27" the bean in question is "org.jboss.seam.faces.event.SystemEventBridge"

It seems also that I have problem with OpenJPA included in WAS v8.
Is Seam 3 compatible with OpenJPA? (Seam 2 was not) or do I have to use Hibernate?
If Seam 3 is "OpenJPA friendly", do I still have to include seam-transaction in my WAR?

Denis, would you be able to provide the steps to get websphere v8 running so that other people in the community (and team) can get up to speed testing on websphere? I'm looking for the download link, requirements to get the download and how to get to a running state ready to accept deployments.
You can get WAS v8 here:https://www14.software.ibm.com/iwm/web/cc/earlyprograms/websphere/wsasoa/index.shtml .You need an IBM account but I think you can easily create one
There are links to the code, to the forums etc
The site explains how to install it
Basic steps to have WAS v8 running
- you install IBM Installation Manager
- from there you add the "repository" where the code for WAS v8 has been unzipped
- you install WAS v8
- you create a WAS "profile" (=1 instance/server/jvm). The installation manager should propose this as soon as the code is installed. By default the profile will be AppSrv01 with a "server" name server1
- by default your apps will be available on port 9080 and the console on 9060
- go to <install_dir>/profiles/AppSrv01/bin
- ./startServer server1 to start
- ./stopServer server1 to stop (must add credentials if you activated the security when create the profile)

I'm using the latest version from RSA v8.0.2 based on eclipse v3.6.2 (Rational Software Architect = RAD -Rational Application Developper - with the modelling extensions) and the latest WAS v8 beta. I'm composing "by hand"  an eclipse project wit the sema-booking files and needed jars and deploy from there. Very easy...
If you don't have RAD v8 or RSA v8, I don't think it is possible to do that from a plain eclipse install (the WAS "connector/server" is missing I think)
There is a "rapid deployment" mode in WAS v8 that is supposed to work as the webapp folder in tomcat but never played with it (Check the infocenter here : http://publib.boulder.ibm.com/infocenter/wasinfo/beta/topic/com.ibm.websphere.base.doc/info/aes/ae/trun_app_install_dragdrop.html)

Or you can build an EAR (or WAR) file and deploy it at the console. Connect to the console http://localhost:9060/admin by default, then on the left menu "Applications/application types/WebSphere Enterprise applications", clik on install, give the name of the EAR or WAR file and click on next a couple of times...Connections pools are defined via menu "ressources/JDBC/data sources" at the console

I'm aware that  this is a *very quick* introduction, send me private mails if you are stuck somewhere...Or I could find some time to describe the procedure in more detail as soon as seam-booking is starting on WAS v8




Thanks,

-Dan

--
Dan Allen
Principal Software Engineer, Red Hat | Author of Seam in Action
Registered Linux User #231597

http://www.google.com/profiles/dan.j.allen#about
http://mojavelinux.com
http://mojavelinux.com/seaminaction