Running Seam on non-JBoss Application Servers
UPDATE: Several people commented that Seam works just fine with the TopLink JPA provider. I stand corrected. Thanks guys.
Here is what I posted to TSS today …
First, we try very hard to make Seam as generic as possible — so it would not require JBoss AS to run. The proof of this effort is that Seam runs on plain Tomcat (using RESOURCE_LOCAL transactions). So, in theory, it should run on all application servers out there. However, since all Seam developers use JBoss AS on a daily basis (we happen to believe that JBoss AS is the best AS out there :)), it is natural that Seam is tested most extensively on JBoss AS. Also, as an open source project, we do not have access to commercial WLS, WAS, ORA licenses, and do not have access to their support. So, our testing on those servers is not very comprehensive. I have personally installed the trial versions of those servers multiple times since they expire all the time. It is extremely time consuming …
So, the testing on commercial app servers is not very good at this moment. If you encounter issues with non-JBoss servers, raising them on the Seam forum is your best bet. Now here is a breakdown of what works and what not (to the best of my knowledge).
* Tomcat 5.5 and 6: Seam applications work out of the box on those servers if you use the RESOURCE_LOCAL transaction (see examples/jpa). You can use EJB3 features if you install JBoss Embeddable on top of Tomcat.
* Glassfish: Glassfish v2 is known to work with Seam (see examples/jee5 for an example).
But we strongly recommend you use Hibernate as the JPA provider — not the default TopLink.* Oracle: Oracle 10 is known to work with Seam (see examples/jee5 and examples/jpa).
Again, choose Hibernate as the JPA provider.* WebLogic: WebLogic 9.2 and 10 can be made to work with JPA + JTA transaction (see examples/jpa). However, EJB3 on WLS 10 does not yet work. There is a reflection error from the EJB proxy the last time I checked.
* WebSphere: I think the examples/jpa can work against WAS 6.1.0.9. You do need to tweak stuff a lot to make JSF 1.2 and Facelets work on that server. We have not tried WebSphere EJB3. However, anything beyond a simple CRUD app might have problems on WAS. One of the reasons is that the IBM JVM5 has a bug that complains about unknown annotations (the correct way is to ignore unknown annotations as the Sun JVM does). Unless IBM fixes this, you will have problems running Seam on WAS.
So, that’s it. If any of you can help us testing this stuff, please let us know!
![]()
November 7th, 2007 at 3:05 pm
Hey Michael,
Can you expand on why Hibernate should be used instead of TopLink when running SEAM on Glassfish? I use Glassfish V2 and would like a few more details, if you have the time.
Thanks, Don
November 8th, 2007 at 2:27 am
I realize that Hibernate has many features that go above and beyond JPA and that Seam helps to bring out those capabilities, but the spin of this entry rubs me a little the wrong way, and I am even a Seam committer. Seam is about extending Java EE and making it a better platform. Bidding people to use Hibernate makes it sound like Seam doesn’t really believe in JPA and that you might as well just use the native Hibernate API.
Additionally, I am a Seam developer and I do not believe that JBoss AS is the best application server. I happen to think that Glassfish is pretty damn amazing and that Weblogic has the hearts of many developers to this day. Not having money is really not an excuse. Seam needs to be thoroughly tested on at least the top 4 servers to the extent it is tested on JBoss AS, if at all possible.
I understand the intention of the post (and the one on server side) and I am not saying that the message is all bad. I just hope that we can trim the bias that still remains.
November 8th, 2007 at 4:24 am
Btw, the integration with Resin is also on the way (for some time though): http://jira.jboss.org/jira/browse/JBSEAM-1022
November 8th, 2007 at 4:27 am
Also I think that the Seam team should have a closer look at the Netweaver Composition Environment which is JEE 5 compliant. And you get pretty decent support on their forums.
November 11th, 2007 at 2:19 pm
Hi,
Thanks to Seam team for 2.0.0 GA release.
I wrote a step-by-step screencast tutorial to make Seam development as RAD - Rapid Application Development with Eclipse and Tomcat, focussing on developer productivity.
http://techieexchange.wordpress.com/2007/11/11/rad-seam-development-with-eclipse-and-tomcat-step-by-step-tutorial-screencast/
November 13th, 2007 at 1:07 pm
Hi. What about Apache Geronimo? (IBM WASCE 2.0)I tryed do it but without success…
November 15th, 2007 at 8:43 pm
[...] Seam works best on JBoss Application Server. Michael Yuan has a brief explanation regarding this. [...]
December 12th, 2007 at 8:35 pm
Hi Michael,
Are you able to elaborate regarding the JSF 1.2 & Facelets tweaks you needed to get Seam working under Websphere? Am trying to get Seam up and running with the EJB3 patch for WS6.1 and am stumbling on this issue myself.
With thanks.
December 21st, 2007 at 2:26 pm
JSF 1.2 & Facelets on WebSphere:
- change class loading to PARENT_LAST for the application
- get all the required jars
January 18th, 2008 at 11:09 am
Hi Michael, I am trying use JBoss Seam 2.0.0GA in Weblogic 10.0.0.
For EL calling javabeans as SEAM components everything goes ok, but not when use EJB 3 SLSB injected into Javabeans. I am thinking the key is the expression to configure for jndi-pattern in components.xml.
I dont know which expression use to jndi-pattern find my EJB in weblogic 10.
If you have any new ideia, please contact me.
February 20th, 2008 at 10:24 am
hi
Michael Yuan saied
Oracle: Oracle 10 is known to work with Seam (see examples/jee5 and examples/jpa)
did you mean Oracle 11?
since there is not a single example covering OC4J 10
all of the examples are 11g .
am i missing something ?
thanks
March 10th, 2008 at 9:54 am
I have gotten Seam 2 working on OC4J, and have a couple of entries up on it:
http://blogs.steeplesoft.com/category/java/oc4j/