11 Replies Latest reply on Mar 19, 2010 1:03 AM by hirowla.ian.rowlands.three.com.au

    JBoss AS 5 and Weld?

    marx3

      Hello,there is inconsistence on web pages, which container is needed to succesfully run Weld-based application.
      Let's look at Weld's home page:



      Weld has been tested on the following platforms:
           JBoss AS 6.0.0.M1

      and a few lines below:



      Read this guide to getting started with the examples in the distribution. You'll also need JBoss AS 5.0.1.GA

      So, which Jboss can I use? Jboss 6 is milestone, so a long way to final release - not a good idea to use in production system ;)
      JBoss AS 5 could be ok, but can I use it? Is this guide still ok?
      I doubt because docs are last modified 04-Nov-2008 09:49...
      So maybe I miss something. WebBeans.equals(Weld)? True or false?

        • 1. Re: JBoss AS 5 and Weld?
          nickarls

          It is safest to use AS 6 M2 and Weld 1.0.1.Final


          WebBeans is null nowadays so the expression evaluates to false but yes, Weld is the RI of JSR-299 (both of which was called WebBeans at some point). LB 3.0 will probably do some cleaning in the docs when he gets around to it.

          • 2. Re: JBoss AS 5 and Weld?
            marx3

            How could it be safest to run something on milestone software??? Not even alpha, beta, nor candidate release...?
            So is glassfish the only one to be used in production system with Weld? Maybe Weld isn't ready to be used in production at all?

            • 3. Re: JBoss AS 5 and Weld?
              marx3

              One missing piece of info: what's LB 3.0?

              • 4. Re: JBoss AS 5 and Weld?
                nickarls
                • 5. Re: JBoss AS 5 and Weld?
                  nickarls

                  Marek Nazarko wrote on Mar 18, 2010 09:45:


                  How could it be safest to run something on milestone software??? Not even alpha, beta, nor candidate release...?
                  So is glassfish the only one to be used in production system with Weld? Maybe Weld isn't ready to be used in production at all?


                  Would you feel better if M2 was renamed to JBoss AS 2010 RockSolid? ;-)

                  • 6. Re: JBoss AS 5 and Weld?
                    marx3

                    So final release means nothing? Lack of some function in milestone, hundreds of bugs is safest then JBossAS5?

                    • 7. Re: JBoss AS 5 and Weld?
                      nickarls

                      It usually means a short code freeze (to keep new bugs from appearing while people wrap up the known bugs under a common release) ;-) Jokes aside, what I'm trying to say is that



                      1. Weld, Seam and JBoss AS 6 are work in progress

                      2. So is Glassfish.



                      • 8. Re: JBoss AS 5 and Weld?
                        marx3

                        Weld 1.0.0 stable release 12. Nov 2009,
                        Weld 1.0.1 stable release 24. Feb 2010,
                        Glassfish 3.0 stable release December 2009


                        Are you still saying that they are work in progress? There will be of course new versions, but they all have stable releases now and in theory they can be used in production environment. A see a big difference beetween them and JBoass at milestone stage...

                        • 9. Re: JBoss AS 5 and Weld?
                          nickarls

                          What I'm saying is that they have all had stable releases but you shouldn't stare yourself blind at a tag. If something is released as final but the day after that a fatal bug is detected and fixed, the snapshot is actually better than the shiny, final release. Good luck trying to explain that to management, though.


                          So yes, I'm saying that (surprise, surprise) most software is work in progress. When is something a final release? When they are feature complete regarding to the spec? When you can run a heavy production env for a year on it without glitches? When no bugs have been reported for a month?

                          • 10. Re: JBoss AS 5 and Weld?
                            chasetec
                            GlassFish v3 has a small bug that prevents you from using Weld 1.0.1. So a bug in GlassFish forces you to stay at Weld 1.0. The JBoss milestones don't have that problem.

                            Start by looking at the Weld 1.0.1 release notes and see if you think you might need 1.0.1, if so then GlassFish v3 is not an option (unless you patch GF by hand). https://jira.jboss.org/jira/secure/ReleaseNote.jspa?projectId=12310891&styleName=Html&version=12314457

                            The other option is to use a promoted build of GlassFish v3.0.1. http://download.java.net/glassfish/v3.0.1/promoted/

                            Really at this point you probably aren't ready to go to production. By the time your app is ready it is possible that both JBossAS6 and GFv3.0.1 will be released. Just pick which ever works best for you right now during development and re-evaluate as you get closer to release.
                            • 11. Re: JBoss AS 5 and Weld?
                              hirowla.ian.rowlands.three.com.au

                              Marek, can you name one thing that the three links you provided as stable releases have in common? None of the links have the word stable on the respective pages! So the stable label is yours - the authors are not claiming it, you are.


                              Weld is an independent product from JBoss AS and Glassfish. It has its own release cycle, independent of JBoss AS and Glassfish. It hasn't synced up that well with the JBoss AS release cycle, but that's not by design.


                              You might also want to read how JBoss is labelling its releases for the application server - it might explain why it is being done that way. My interpretation is that it is small chunks of functionality added to the previous release, knowing that all of what is intended for a major release is not there yet. When it is all there and appropriate QA is done, it will be labelled appropriately as a release. The labelling has been done for a reason - most people do things like alpha or beta, which mean nothing. The milestone labelling means something, if you go and look up what those milestones are.


                              How you use a label on a product depends on what you want to do and what your timelines are. Personally I would never put a milestone release as a production server. However my timeline for a production release on my current project is a few months away, when a feature complete release will be available. I can use a milestone release to develop and cop the bugs (which I have), or not even start development until the complete release is ready. I made my choice, you can make yours - I have a nearly completed product, even knowing the server is not functionally complete.


                              Compare the stability of the following products for bugs and production readiness, based on your labelling criteria):
                              Glassfish v3.0.0
                              JBoss 6.0.0 M2
                              IBM WebSphere Application Server 7.0.0
                              Microsoft Windows XP (not patched)
                              Microsoft Windows Vista (not patched)


                              At least JBoss AS's labelling is completely honest - sounds like GF isn't really stable enough for production deployment, and I know from experience those other products weren't! But it depends on what you want to do. I'm running JBoss AS 6.0.0 M2 updated with Weld 1.0.1 Final and Sun Mojarra (JSF) 2.0.3-SNAPSHOT because I had to work around bugs in both those products. But that's ok for now - if I was deploying tomorrow, I wouldn't.


                              BTW, thanks to the Weld guys who have put up with my bug reports and have actually fixed almost all of them - that's what makes it a more stable product, not just labelling it.