4 Replies Latest reply on Feb 17, 2010 1:11 PM by Pete Muir

    OpenWebBeans questions

    Arbi Sookazian Master

      OpenWebBeans may be executed in a Java EE 6, Java EE 5 or Java SE environments. If the application executes in a Java SE environment, an embeddable EJB Lite container has to provide Java EE services such as transaction management and persistence.

      http://openwebbeans.apache.org/1.0.0-SNAPSHOT/faq.html


      Does Weld 1.0.x run in Java EE 5 envmt?


      How can I download OpenWebBeans and what additional functionality is provided over Weld?

        • 1. Re: OpenWebBeans questions
          Ian R Newbie

          At the risk of looking stupid (but then again, I looked in the mirror this morning...):


          Whether Weld runs in a JEE 5 environment depends more on the application server than Weld itself. If your application server doesn't provide the hooks or specify where to put the hooks, it's not going to work as you expect. As a comparison - JBoss 6.0.0 M1. Weld is part of it but doesn't work as expected, because the Servlet container doesn't support it. I think that's fixed for M2, but we'll find out once it arrives. I think what that statement means is that it COULD run in a JEE 5 environment.


          To download, I'm sure they either have the source code which you could compile yourself or a continuous integration server you could pull the latest build from. In terms of functionality, I don't think it currently even implements the CDI JSRs yet so it does less than Weld. Of course that will change in the future, so you can watch it for future developments.


          I might have a different view from others, but if I want to choose a component for applications (as distinct from an appserver) I'd choose the reference implementation unless there is something seriously wrong with it. At least you know it implements the spec!

          • 2. Re: OpenWebBeans questions
            Arbi Sookazian Master

            The answer is in the readme.txt in the Weld distro:



            Weld examples require either a Java EE 6 application server, a Java EE 5
            application server retrofitted to include CDI support, a servlet container
            (using the Weld servlet extension) and Java SE (using the Weld Java SE
            extension). In fact, through extensions, Weld can accomodate any Java
            environment.
            • 3. Re: OpenWebBeans questions
              Nicklas Karlsson Master

              Yes, Weld doesn't know who hands it the services it requires through the SPI. It could be an appserver, SE etc...


              Any implementation that passes the TCK by definition implements the spec. But of course Weld is the most elegant, efficient, cute etc implementation! ;-)

              • 4. Re: OpenWebBeans questions
                Pete Muir Master

                My 2c is that Weld will run in any Java environment (after it, it works fine Java SE), but the level of integration varies - it is most integrated into GlassFish/JBoss AS where it can integrate with EJBs etc. You could use the Servlet support of Weld in JBoss AS 5 for example with no problem (or in any Servlet container).