[jboss-user] [Installation, Configuration & Deployment] - Re: The JSF library situation in JBoss explained (it's calle
do-not-reply at jboss.com
Thu Apr 26 14:11:09 EDT 2007
Thanks for writing back so quickly. It was not clear on the wiki that the forced JSF was due to JEE5 compliance efforts, which is why I took such an incredulous tone. Regardless, you are correct about JEE5, I read the spec and sure enough, it requires JSF 1.2. Wow, I'm floored, that's a pretty gutsy move on their part ... And they are making your life difficult because then I see they say some seemingly contradictory things...
>From section EE.11.1, it states:
anonymous wrote : Compatibility is a core value of the Java EE platform. A Java EE product is required to support portable applications written to previous versions of the platform.
... but then at then end of that section, they get a bit dodgy with this:
anonymous wrote : Portable applications depend only on the APIs and behavior required by the Java EE specifications. In general, portable applications written to a previous version of the platform will continue to work without change and with identical behavior on the current version of the platform.
So, what does "in general" mean? Does that mean you are required or you are not required to host older J2EE applications? What percentage of the time is "in general"? 50%? 99.9%?
And from section EE.6.1.2, where it discusses that you must include JSF 1.2, it states:
anonymous wrote : All classes and interfaces required by the specifications for the APIs must be provided by the Java EE containers. In some cases, a Java EE product is not required to provide objects that implement interfaces intended to be implemented by an application server, nevertheless, the definitions of such interfaces must be included in the Java EE platform.
So, our app is a J2EE 1.4 app, not a 1.5 app. And by this spec, you're supposed to support apps written to those older versions WHILE loading JSF 1.2. I think they must mean for you to dynamically load JSF for web applications if the deployment descriptor identifies the app as JEE5, and to NOT load JSF otherwise (since it wasn't required for J2EE 1.4 and below.) Is this your interpretation as well?
I can tell you right now, it's going to be a long time before we upgrade to JEE5. So, for now, we are bundling our own JSF libraries and deploying to other vendor's platforms without trouble. We can't deploy our app to JBoss 4.2+ where our deployment descriptor indicates J2EE 1.4 (servlet 2.4 indicated in web.xml) and JSF 1.2 also gets pre-loaded for us. For my situation, if you could give me a way to override or mask off your JSF libraries from being loaded using the jboss-web.xml, that would be fine.
This is a difficult situation for JBoss. Sorry for being so harsh in my original message, I had no idea what was happening in JEE5 and how that was affecting you.
I will try to deploy to Glassfish and see how it does. We do not consider Glassfish to be a "force" in the market yet like JBoss is, but it will be an interesting experiment to see how well it does deploying our app. Geronimo was our initial platform only because its rich classloader controls made prototyping easy for other parts of our app.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4041127#4041127
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4041127
More information about the jboss-user