Re: auto java reloading depends on package?
Howard, first: thanks for the detailed answer. I only was thinking about web-tier-beans with no-dependecy, simple POJOs, but I think is tricky too, because you can have in the session the first version of FooBean, and when you change it, the session will have a old implementation. So by now, for this specific case (I use wizard beans in web project) I'm using javarebel 2 and works OK, cons: it gives you a little overhead to your application, so I suggest to use it only when neccesary. The trial version gives you 30 day, because it doesn't have a license (javarebel.lic)... the tip is.. it creates a license with random name in %TEMP% (in my case.. C:\Documents and Settings\Administrador\Configuración local\Temp). The file name is random (6ZeEzVhue14Kw.tmp for me) and it's always 1kb. Just keep this folder clean and use it. I hope this is usefull for someone. Thanks again On Mon, Sep 7, 2009 at 1:42 PM, Howard Lewis Shiphls...@gmail.com wrote: Doing auto-reloading right is very tricky. You have to have control over the lifecycle of objects, and the class loaders for those objects. For Tapestry components this is possible and is, in effect, a side-effect of the transforming technology that allows components to operate. To allow the same kind of reloading beyond components is more involved, and would turn Tapestry into an application server, rather than a framework. Simply reloading a class may not be enough. For example, what if the class being reloaded is a module class, thus changing the configuration of the IoC container (including the configuration passed to some services)? Changing even a service implementation can have a rippling effect: the new implementation may have new dependencies. Values obtained from the old service may have been passed to other services; with external XML configuration it might be possible to track this, but with Tapestry's Java-centric approach, it is virtually impossible to know what data has moved about the system. On Mon, Sep 7, 2009 at 9:03 AM, Alfonso Quiroga alfonsose...@gmail.comwrote: Thanks for the fast answer. I think is very common in a web-application to have own web-tier objects, my example are Wizard Beans that I store in sessions. It would be great in the future to auto-reload this beans, by now I will try javarebel and I'll tell you my experience. Thanks again On Mon, Sep 7, 2009 at 12:53 PM, Howard Lewis Shiphls...@gmail.com wrote: Only components, inside the designated packages, can be auto-reloaded. On Sun, Sep 6, 2009 at 10:06 PM, Alfonso Quiroga alfonsose...@gmail.com wrote: Hi! I have java classes in root.components... root.pages and root.base as usual. That works perfectly... but I was needing a new class to store in session, just a java bean (WizardBean) and I dropped it in root.wizard, and auto-reloading does NOT work in that package. I tried to put in root.base.wizard, but there was an exception. Where can I put it for reloading works? thanks in advance! - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org -- Howard M. Lewis Ship Creator of Apache Tapestry The source for Tapestry training, mentoring and support. Contact me to learn how I can get you up and productive in Tapestry fast! - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org -- Howard M. Lewis Ship Creator of Apache Tapestry The source for Tapestry training, mentoring and support. Contact me to learn how I can get you up and productive in Tapestry fast! - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: auto java reloading depends on package?
Hello Alfonso, it is not only the session, it is any kind of library which has parsed the bean for example or any kind of bean having a relation ship to the bean. It might be simpler to provide your own reloading mechanism for a complete module of the application. I am surprised that you publish tips on destroying other people work and income. Don't you expect payment for your work as well? -- Best Regards / Viele Grüße Sebastian Hennebrueder - Software Developer and Trainer for Hibernate / Java Persistence http://www.laliluna.de - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: auto java reloading depends on package?
If u r using tomcat u can use the sysdeo plugin, it's not as good as JavaRebel but u don't have to use those tricks On Tue, Sep 8, 2009 at 7:00 PM, Alfonso Quirogaalfonsose...@gmail.com wrote: Sebastian: yes I can see the problem of reloading other objets, that's why I use javarebel by now in this special cases. Answering your question, I'm developing an open source system, so I don't expect payment for it, and the tip was for using the trial period a longer time, I didn't say don't buy it, that wasn't my idea, thanks On Tue, Sep 8, 2009 at 5:07 AM, Sebastian Hennebruederuse...@laliluna.de wrote: Hello Alfonso, it is not only the session, it is any kind of library which has parsed the bean for example or any kind of bean having a relation ship to the bean. It might be simpler to provide your own reloading mechanism for a complete module of the application. I am surprised that you publish tips on destroying other people work and income. Don't you expect payment for your work as well? -- Best Regards / Viele Grüße Sebastian Hennebrueder - Software Developer and Trainer for Hibernate / Java Persistence http://www.laliluna.de - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: auto java reloading depends on package?
Only components, inside the designated packages, can be auto-reloaded. On Sun, Sep 6, 2009 at 10:06 PM, Alfonso Quiroga alfonsose...@gmail.comwrote: Hi! I have java classes in root.components... root.pages and root.base as usual. That works perfectly... but I was needing a new class to store in session, just a java bean (WizardBean) and I dropped it in root.wizard, and auto-reloading does NOT work in that package. I tried to put in root.base.wizard, but there was an exception. Where can I put it for reloading works? thanks in advance! - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org -- Howard M. Lewis Ship Creator of Apache Tapestry The source for Tapestry training, mentoring and support. Contact me to learn how I can get you up and productive in Tapestry fast!
Re: auto java reloading depends on package?
Thanks for the fast answer. I think is very common in a web-application to have own web-tier objects, my example are Wizard Beans that I store in sessions. It would be great in the future to auto-reload this beans, by now I will try javarebel and I'll tell you my experience. Thanks again On Mon, Sep 7, 2009 at 12:53 PM, Howard Lewis Shiphls...@gmail.com wrote: Only components, inside the designated packages, can be auto-reloaded. On Sun, Sep 6, 2009 at 10:06 PM, Alfonso Quiroga alfonsose...@gmail.comwrote: Hi! I have java classes in root.components... root.pages and root.base as usual. That works perfectly... but I was needing a new class to store in session, just a java bean (WizardBean) and I dropped it in root.wizard, and auto-reloading does NOT work in that package. I tried to put in root.base.wizard, but there was an exception. Where can I put it for reloading works? thanks in advance! - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org -- Howard M. Lewis Ship Creator of Apache Tapestry The source for Tapestry training, mentoring and support. Contact me to learn how I can get you up and productive in Tapestry fast! - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org
Re: auto java reloading depends on package?
Doing auto-reloading right is very tricky. You have to have control over the lifecycle of objects, and the class loaders for those objects. For Tapestry components this is possible and is, in effect, a side-effect of the transforming technology that allows components to operate. To allow the same kind of reloading beyond components is more involved, and would turn Tapestry into an application server, rather than a framework. Simply reloading a class may not be enough. For example, what if the class being reloaded is a module class, thus changing the configuration of the IoC container (including the configuration passed to some services)? Changing even a service implementation can have a rippling effect: the new implementation may have new dependencies. Values obtained from the old service may have been passed to other services; with external XML configuration it might be possible to track this, but with Tapestry's Java-centric approach, it is virtually impossible to know what data has moved about the system. On Mon, Sep 7, 2009 at 9:03 AM, Alfonso Quiroga alfonsose...@gmail.comwrote: Thanks for the fast answer. I think is very common in a web-application to have own web-tier objects, my example are Wizard Beans that I store in sessions. It would be great in the future to auto-reload this beans, by now I will try javarebel and I'll tell you my experience. Thanks again On Mon, Sep 7, 2009 at 12:53 PM, Howard Lewis Shiphls...@gmail.com wrote: Only components, inside the designated packages, can be auto-reloaded. On Sun, Sep 6, 2009 at 10:06 PM, Alfonso Quiroga alfonsose...@gmail.com wrote: Hi! I have java classes in root.components... root.pages and root.base as usual. That works perfectly... but I was needing a new class to store in session, just a java bean (WizardBean) and I dropped it in root.wizard, and auto-reloading does NOT work in that package. I tried to put in root.base.wizard, but there was an exception. Where can I put it for reloading works? thanks in advance! - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org -- Howard M. Lewis Ship Creator of Apache Tapestry The source for Tapestry training, mentoring and support. Contact me to learn how I can get you up and productive in Tapestry fast! - To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org For additional commands, e-mail: users-h...@tapestry.apache.org -- Howard M. Lewis Ship Creator of Apache Tapestry The source for Tapestry training, mentoring and support. Contact me to learn how I can get you up and productive in Tapestry fast!