1 2 3 Previous Next 36 Replies Latest reply on Apr 14, 2010 11:11 AM by Pete Muir

    special classloader for Weld hot incremental deployment

    Arbi Sookazian Master

      Is there or will there be a JSR for hot incremental deployment for all EE types, including xml and xhtml files?


      Currently, with EJB 3.0 and JPA entities, hot incremental deployment is not available.


      Is this something that's available in EE 6 and/or Weld components???

        • 1. Re: special classloader for Weld hot incremental deployment
          Arbi Sookazian Master

          I have a feeling the answer will be: portable extension to Weld via SPI (i.e., Seam 3 feature)...


          But it seems like every JEE app server should be able to handle this out-of-the-box...

          • 2. Re: special classloader for Weld hot incremental deployment
            Francisco Jose Peredo Noguez Master

            Guess once OSGi support becomes widespread this problem will dissapear...


            You can also wish that Oracle decides to buy ZeroTurnaournd, convert it into a JSR, and integrate it for free with Java... ;-)

            • 3. Re: special classloader for Weld hot incremental deployment
              Arbi Sookazian Master

              I found out yesterday that there is Oracle Linux: http://www.oracle.com/us/technologies/linux/index.htm


              But it's possible that Oracle may purchase Redhat one day as well...


              GKing does not seem to be a big fan of OSGi (or at least Spring dm server, or any Spring technology for that matter).


              Maybe he'll prove me wrong...

              • 4. Re: special classloader for Weld hot incremental deployment
                Gavin King Master

                Arbi Sookazian wrote on Nov 17, 2009 17:26:


                Is there or will there be a JSR for hot incremental deployment for all EE types, including xml and xhtml files?

                Currently, with EJB 3.0 and JPA entities, hot incremental deployment is not available.

                Is this something that's available in EE 6 and/or Weld components???


                This is nothing to do with the EE 6, EJB, JPA or Weld specifications.


                It is something that can already be implemented by a container vendor. JBoss AS does not currently have good support for incremental deployment, so Seam provided a hackish solution. Hopefully, this will be resolved in JBoss AS soon.

                • 5. Re: special classloader for Weld hot incremental deployment
                  Gavin King Master

                  Francisco Peredo wrote on Nov 17, 2009 17:36:


                  Guess once OSGi support becomes widespread this problem will dissapear...



                  I have no idea why you think that OSGi is related. OSGi has zip nada nothing to do with incremental deployment and does not help in the slightest.


                  I'm soooo sick of people waving around the letters O, S, G and i as some kind of panacea for all problems of Java. OSGi is not even an especially good module architecture!

                  • 6. Re: special classloader for Weld hot incremental deployment
                    Arbi Sookazian Master

                    Gavin King wrote on Nov 17, 2009 18:20:


                    I have no idea why you think that OSGi is related. OSGi has zip nada nothing to do with incremental deployment and does not help in the slightest.

                    I'm soooo sick of people waving around the letters O, S, G and i as some kind of panacea for all problems of Java. OSGi is not even an especially good module architecture!


                    Note to self: OSGi and AOP are big no-no's with GKing.


                    Note to self: Understand why.  I'm getting there...

                    • 7. Re: special classloader for Weld hot incremental deployment
                      Gavin King Master

                      Note to self: OSGi and AOP are big no-no's with GKing.


                      I never said that. OSGi has its place, and is the foundation for some great software (Eclipse). It's just sometimes over-sold.


                      I suppose AOP also has a role to play. It's a good way to obfuscate your code in a way that makes you feel smarter. Some developers like that.

                      • 8. Re: special classloader for Weld hot incremental deployment
                        Francisco Jose Peredo Noguez Master

                        Gavin King wrote on Nov 17, 2009 18:20:



                        Francisco Peredo wrote on Nov 17, 2009 17:36:


                        Guess once OSGi support becomes widespread this problem will dissapear...



                        I have no idea why you think that OSGi is related. OSGi has zip nada nothing to do with incremental deployment and does not help in the slightest.


                        Mmmm, interesting opinion... Silly me here thinking that the ability to dynamically install, update and uninstall modules in a running system would help me make my development faster... I guess someone should tell this to those SpringDm guys...



                        I'm soooo sick of people waving around the letters O, S, G and i as some kind of panacea for all problems of Java. OSGi is not even an especially good module architecture!


                        It might not be even an especially good module architecture, but since currently Java has what amounts to zip nada nothing as its module architecture...

                        • 9. Re: special classloader for Weld hot incremental deployment
                          Gavin King Master

                          Francisco Peredo wrote on Nov 17, 2009 18:46:



                          Gavin King wrote on Nov 17, 2009 18:20:



                          Francisco Peredo wrote on Nov 17, 2009 17:36:


                          Guess once OSGi support becomes widespread this problem will dissapear...



                          I have no idea why you think that OSGi is related. OSGi has zip nada nothing to do with incremental deployment and does not help in the slightest.


                          Mmmm, interesting opinion... Silly me here thinking that the ability to dynamically install, update and uninstall modules in a running system would help me make my development faster... I guess someone should tell this to those SpringDm guys...


                          Bzzzt. Wrong answer.


                          All Java EE application servers support the ability to dynamically deploy modules in a running system. (A module is a war, ear, EJB jar, etc.)


                          Certainly JBoss does, and has since the very earliest versions. It has certainly had this feature for much, much longer than any totally-proprietary steaming pile of Spring server.


                          We're talking about incremental hot deployment, which means hot deploying individual classes or deployment descriptors incrementally, without restarting the whole module. The big problem here is having container infrastructure which is smart enough to be able to be able to read just the metamodel information that has changed, without needing to throw away the classloader and redeploy the whole module. To my knowledge, this is not something that any of the commonly used Java frameworks know how to do today.

                          • 10. Re: special classloader for Weld hot incremental deployment
                            Gavin King Master


                            I'm soooo sick of people waving around the letters O, S, G and i as some kind of panacea for all problems of Java. OSGi is not even an especially good module architecture!


                            It might not be even an especially good module architecture, but since currently Java has what amounts to zip nada nothing as its module architecture...


                            Well, that's not quite true, Francisco. Java SE doesn't have modules, but Java EE certainly does. Now, the Java EE module architecture is even lamer than OSGi, but it's more than nada.


                            I know you don't like to use Java EE, but you don't discount it like that.

                            • 11. Re: special classloader for Weld hot incremental deployment
                              Gavin King Master

                              Oh, and Francisco, the JBoss 5 microcontainer can do everything that OSGi does and much, much, much more. You miss out on quite a lot because of your choice to use Tomcat.

                              • 12. Re: special classloader for Weld hot incremental deployment
                                Francisco Jose Peredo Noguez Master

                                Gavin King wrote on Nov 17, 2009 18:54:


                                Bzzzt. Wrong answer.


                                LOL!



                                All Java EE application servers support the ability to dynamically deploy modules in a running system. (A module is a war, ear, EJB jar, etc.)


                                What about a simple .jar? I some of my applications I have all my JPA entities inside a .jar that is then copied in to WEB-INF\lib, would you be so kind as to explain me how reload only that .jar? It can not be done?


                                Mmmm, maybe with OSGi...?



                                Certainly JBoss does, and has since the very earliest versions. It has certainly had this feature for much, much longer than any totally-proprietary steaming pile of Spring server.


                                how do I replace the .jar with all my entities that I have inside my web app? would you be so kind as to point me to place that explains how to do this with JBoss?



                                We're talking about incremental hot deployment, which means hot deploying individual classes or deployment descriptors incrementally, without restarting the whole module.


                                The structure of the modules of an application should be something I get to decide, I should be able to say that all my entities are in a model, and I want to reload only that... can I do it? or do I need something like OSGi for that?



                                The big problem here is having container infrastructure which is smart enough to be able to be able to read just the metamodel information that has changed, without needing to throw away the classloader and redeploy the whole module. To my knowledge, this is not something that any of the commonly used Java frameworks know how to do today.



                                Guess that means the only choice is JavaRebel ZeroTurnaround...

                                • 13. Re: special classloader for Weld hot incremental deployment
                                  Francisco Jose Peredo Noguez Master

                                  Gavin King wrote on Nov 17, 2009 19:06:


                                  Oh, and Francisco, the JBoss 5 microcontainer can do everything that OSGi does and much, much, much more. You miss out on quite a lot because of your choice to use Tomcat.


                                  Really? Does it have a solution for Classpath hell? That is the only feature that could make me leave tomcat, and so far, I have only seen it in Geronimo...

                                  • 14. Re: special classloader for Weld hot incremental deployment
                                    Francisco Jose Peredo Noguez Master

                                    Gavin King wrote on Nov 17, 2009 19:00:


                                    Well, that's not quite true, Francisco. Java SE doesn't have modules


                                    That and nada mean the same you know... ;-)



                                    but Java EE certainly does.


                                    I did not say Java EE, but I see your point.



                                    Now, the Java EE module architecture is even lamer than OSGi, but it's more than nada.


                                    Agreed, it is more than nada, but it still is lamer than OSGi... hard to decide what is worse...



                                    1 2 3 Previous Next