[Wicket-user] Instructions for using WICKET-126
Currently my development environment is downright ugly when it comes the "edit -> test changes" cycle. I'm using: Maven Jetty plugin Intellij Idea As it currently stands, here's my cycle: 1. Make a change (doesn't matter if it's to a template or page class) 2. Wait for the entire application to redeploy - at least this happens automatically 3. Go back to my browser and click refresh; get a "Page out of date error" or something like that; I forget as I'm not sitting in front of it right now. 4. Click "Go to home page" 5. I'm forced to log in again 6. Finally, navigate through my application to get to back to place where I can see the change I made. Wash.Rinse.Repeat. A thousand times a day. Clearly, I'm doing something wrong. I have the configuration:development parameter set in my web.xml so if I disable automatic redeployment in Jetty, I can push my template changes out and see them almost immediately, however I make far more changes to my backing classes than I do to the templates themselves so I'd rather keep the Jetty auto-redeploy on. So first, is there something I should be doing differently to make this cycle a little shorter. When I was using Tomcat and a different presentation framework, sessions persisted across auto-redeployments so I could at least avoid having to log back in and navigate back to where I was each time. It's not much of an improvement but it's something. Can the same thing be done with Jetty/Wicket? Tomcat/Wicket? Second, I ran across the JIRA issue, WICKET-126: https://issues.apache.org/jira/browse/WICKET-126 This seems to describe some changes in the 1.3 base that would enable much easier hot-redeployment of classes. The discussion in the issue went back and forth, but it's a little hard to tell what form this functionality took int he end and how to use it. Are there any instructions outside that issue on its use? Do I need to check out the 1.3 code from Subversion or is it available from the wicketstuff.org maven respoitory (wha I'm currently using for 1.3 SNAPSHOTS)? I'm sure many of you have your development environments setup to avoid a prolonged change review cycle. I'd love to hear any tips you have. - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Instructions for using WICKET-126
Not using IDEA I can only comment on the Java stuff. Wicket doesn't impose any special thing on the server and runtime environment. Therefore hotswap should be functioning. My experience with Eclipse is that running the application in debug mode allows hotswap to occur, and typically doesn't require a redeploy. I think this is available for IDEA as well (run your jetty using a debugger). On eclipse my mantra for the day is: - start server in debug mode from within eclipse - modify template or Java code (only inside methods, no structural changes) - see change immediately When a structural change was made, the hotswap will complain and you have to restart the server. >From what I remember of using IDEA is that you also can run the app server in debug mode, and have it pick up changes in class files without redeploy. Read more here (possibly outdated but should give you ideas): http://jetty.mortbay.org/jetty5/faq/faq_s_950-IDEs_t_IntelliJ.html Martijn On 3/10/07, Matt Welch <[EMAIL PROTECTED]> wrote: > Currently my development environment is downright ugly when it comes the > "edit -> test changes" cycle. I'm using: > > Maven > Jetty plugin > Intellij Idea > > As it currently stands, here's my cycle: > > Make a change (doesn't matter if it's to a template or page class) > Wait for the entire application to redeploy - at least this happens > automatically > Go back to my browser and click refresh; get a "Page out of date error" or > something like that; I forget as I'm not sitting in front of it right now. > Click "Go to home page" > I'm forced to log in again > Finally, navigate through my application to get to back to place where I can > see the change I made. Wash.Rinse.Repeat. A thousand times a day. Clearly, > I'm doing something wrong. > > I have the configuration:development parameter set in my web.xml so if I > disable automatic redeployment in Jetty, I can push my template changes out > and see them almost immediately, however I make far more changes to my > backing classes than I do to the templates themselves so I'd rather keep the > Jetty auto-redeploy on. > > So first, is there something I should be doing differently to make this > cycle a little shorter. When I was using Tomcat and a different presentation > framework, sessions persisted across auto-redeployments so I could at least > avoid having to log back in and navigate back to where I was each time. It's > not much of an improvement but it's something. Can the same thing be done > with Jetty/Wicket? Tomcat/Wicket? > > Second, I ran across the JIRA issue, WICKET-126: > https://issues.apache.org/jira/browse/WICKET-126 > > This seems to describe some changes in the 1.3 base that would enable much > easier hot-redeployment of classes. The discussion in the issue went back > and forth, but it's a little hard to tell what form this functionality took > int he end and how to use it. Are there any instructions outside that issue > on its use? Do I need to check out the 1.3 code from Subversion or is it > available from the wicketstuff.org maven respoitory (wha I'm currently using > for 1.3 SNAPSHOTS)? > > I'm sure many of you have your development environments setup to avoid a > prolonged change review cycle. I'd love to hear any tips you have. > > > > - > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share your > opinions on IT & business topics through brief surveys-and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > ___ > Wicket-user mailing list > Wicket-user@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wicket-user > > -- Learn Wicket at ApacheCon Europe: http://apachecon.com Join the wicket community at irc.freenode.net: ##wicket Wicket 1.2.5 will keep your server alive. Download Wicket now! http://wicketframework.org - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Instructions for using WICKET-126
> Second, I ran across the JIRA issue, WICKET-126: > https://issues.apache.org/jira/browse/WICKET-126 > > This seems to describe some changes in the 1.3 base that would enable much > easier hot-redeployment of classes. The discussion in the issue went back > and forth, but it's a little hard to tell what form this functionality took > int he end and how to use it. Are there any instructions outside that issue > on its use? Do I need to check out the 1.3 code from Subversion or is it > available from the wicketstuff.org maven respoitory (wha I'm currently using > for 1.3 SNAPSHOTS)? It's all in there (1.3) so start using it today. YMMV though, but you already read that from the comments. So, play with it, so how it works out for you, and if you have issues, please share them here. Eelco - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Instructions for using WICKET-126
* Matt Welch: Hello Matt, > Second, I ran across the JIRA issue, WICKET-126: > > This seems to describe some changes in the 1.3 base that would > enable much easier hot-redeployment of classes. That's right, with this new feature you don't need to restart your webapp in most cases. > The discussion in the issue went back and forth, but it's a > little hard to tell what form this functionality took int he end > and how to use it. Are there any instructions outside that issue > on its use? Yes, please have a look at the Javadoc of wicket.protocol.http.ReloadingWicketFilter > Do I need to check out the 1.3 code from Subversion or is it > available from the wicketstuff.org maven respoitory (wha I'm > currently using for 1.3 SNAPSHOTS)? You can do both. Your feedback on the reloading feature will be appreciated. Thanks in advance, -- Jean-Baptiste Quenot aka John Banana Qwerty http://caraldi.com/jbq/ - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Instructions for using WICKET-126
Thanks for all of the information and links. I'll be diving into this on Monday and I'll reply here with my results. On 3/10/07, Jean-Baptiste Quenot <[EMAIL PROTECTED]> wrote: * Matt Welch: Hello Matt, > Second, I ran across the JIRA issue, WICKET-126: > > This seems to describe some changes in the 1.3 base that would > enable much easier hot-redeployment of classes. That's right, with this new feature you don't need to restart your webapp in most cases. > The discussion in the issue went back and forth, but it's a > little hard to tell what form this functionality took int he end > and how to use it. Are there any instructions outside that issue > on its use? Yes, please have a look at the Javadoc of wicket.protocol.http.ReloadingWicketFilter > Do I need to check out the 1.3 code from Subversion or is it > available from the wicketstuff.org maven respoitory (wha I'm > currently using for 1.3 SNAPSHOTS)? You can do both. Your feedback on the reloading feature will be appreciated. Thanks in advance, -- Jean-Baptiste Quenot aka John Banana Qwerty http://caraldi.com/jbq/ - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Instructions for using WICKET-126
Jean-Baptiste Quenot apache.org> writes: > That's right, with this new feature you don't need to restart your > webapp in most cases. Will it invalidate the session? - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Instructions for using WICKET-126
* Kent Tong: > Jean-Baptiste Quenot apache.org> writes: > > > That's right, with this new feature you don't need to restart > > your webapp in most cases. > > Will it invalidate the session? No. In most cases you need to go back to a bookmarkable page or home page to avoid page expired errors. And you don't necessarily have to invalidate the session, otherwise you need to log in again and again every time you modify a class. -- Jean-Baptiste Quenot aka John Banana Qwerty http://caraldi.com/jbq/ - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Instructions for using WICKET-126
Your feedback on the reloading feature will be appreciated. Thanks in advance, -- Jean-Baptiste Quenot aka John Banana Qwerty http://caraldi.com/jbq/ Hmmm, I may be missing a configuration step or perhaps my expectations were off, but this doesn't appear to be working for me. I changed my web.xml to use the ReloadingWicketFilter and then ran my app. Everything works as normal. When I modify a template file, the change is picked up, however modifying a java file and compiling it doesn't seem to do anything. So I wonder if I'm missing something in my environment setup that might allow this to work. Here's some more information if anyone has any ideas: Maven 2.04 maven-jetty-plugin 6.1.1 Java 1.5.0_08 App server started with "mvn jetty:run" Linux kernel 2.6.17 Jean-Baptiste, I saw in the JIRA issue comments that you tested this using the Jetty from the maven-jetty-plugin. Do you know what version you were using? Would that even make a difference? Thanks! Matt - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Instructions for using WICKET-126
* Matt Welch: > >Your feedback on the reloading feature will be appreciated. > > Hmmm, I may be missing a configuration step or perhaps my > expectations were off, but this doesn't appear to be working for > me. I changed my web.xml to use the ReloadingWicketFilter and > then ran my app. Everything works as normal. When I modify a > template file, the change is picked up, however modifying a java > file and compiling it doesn't seem to do anything. > > So I wonder if I'm missing something in my environment setup > that might allow this to work. Here's some more information if > anyone has any ideas: Yes, you may be missing something. You should have written at least 5 lines of Java code to activate the reloading of your own classes. Did you extend ReloadingWicketFilter to include your own packages? You need to specify your own class. Maybe the Javadoc in ReloadingWicketFilter is not explicit enough, in that case an updated description would be more than welcome. Cheerio, -- Jean-Baptiste Quenot aka John Banana Qwerty http://caraldi.com/jbq/ - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Instructions for using WICKET-126
On 3/12/07, Jean-Baptiste Quenot <[EMAIL PROTECTED]> wrote: Yes, you may be missing something. You should have written at least 5 lines of Java code to activate the reloading of your own classes. Did you extend ReloadingWicketFilter to include your own packages? You need to specify your own class. Maybe the Javadoc in ReloadingWicketFilter is not explicit enough, in that case an updated description would be more than welcome. Ok, yeah, I misunderstood that. I thought I could just use ReloadingWicketFilter from my web.xml and it would work withs some defaults but needing to specify some sane bounds for it to work within makes perfect sense. It's still not working perfectly for me but I think I'm running into issues similar to what you described for Spring (i.e. class cast exceptions on a few things loaded before the filter classloader). If I were to suggest a few changes to the javadocs, then it might be a good idea to explicitly say that you need to extend the ReloadingWicketFilter for your own application. I'm sure this is obvious to you and once I put some thought into it, it makes perfect sense, but one doesn't need to extend the normal WicketFilter in order to use it, so that's why I wasn't thinking about it in the right way. Also, in your static block example where you show include and exclude patterns, you might want to use packages like com.yourapp.* instead of wicket packages.I can't speak for everyone but I think most of us work in the mindset of the wicket classes being static (as in not changing) during our application development so it isn't immediately clear why you would need to exclude those. Again, once I thought about it for a bit, I understood why you had it set up that way. Then again, I might just be a little slow on the uptake.. :) ... Well before I finished up this email, I figured out what packages to exclude to eliminate the classcast exceptions and it's all working perfectly. This is going to be a huge productivity boost! Thanks for your help! Matt - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Instructions for using WICKET-126
if you need to extend it to configure it then it should be made abstract -igor On 3/12/07, Matt Welch <[EMAIL PROTECTED]> wrote: On 3/12/07, Jean-Baptiste Quenot <[EMAIL PROTECTED]> wrote: > > Yes, you may be missing something. You should have written at > least 5 lines of Java code to activate the reloading of your own > classes. Did you extend ReloadingWicketFilter to include your own > packages? You need to specify your own class. > > Maybe the Javadoc in ReloadingWicketFilter is not explicit enough, > in that case an updated description would be more than welcome. > > Ok, yeah, I misunderstood that. I thought I could just use ReloadingWicketFilter from my web.xml and it would work withs some defaults but needing to specify some sane bounds for it to work within makes perfect sense. It's still not working perfectly for me but I think I'm running into issues similar to what you described for Spring ( i.e. class cast exceptions on a few things loaded before the filter classloader). If I were to suggest a few changes to the javadocs, then it might be a good idea to explicitly say that you need to extend the ReloadingWicketFilter for your own application. I'm sure this is obvious to you and once I put some thought into it, it makes perfect sense, but one doesn't need to extend the normal WicketFilter in order to use it, so that's why I wasn't thinking about it in the right way. Also, in your static block example where you show include and exclude patterns, you might want to use packages like com.yourapp.* instead of wicket packages.I can't speak for everyone but I think most of us work in the mindset of the wicket classes being static (as in not changing) during our application development so it isn't immediately clear why you would need to exclude those. Again, once I thought about it for a bit, I understood why you had it set up that way. Then again, I might just be a little slow on the uptake.. :) ... Well before I finished up this email, I figured out what packages to exclude to eliminate the classcast exceptions and it's all working perfectly. This is going to be a huge productivity boost! Thanks for your help! Matt - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Instructions for using WICKET-126
OK, I improved the documentation accordingly. I don't know if this is published anywhere in real time however. Wicket team? Do you have a magic URL on wicketstuff.org for API documentation? -- Jean-Baptiste Quenot aka John Banana Qwerty http://caraldi.com/jbq/ - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user
Re: [Wicket-user] Instructions for using WICKET-126
no we do not. someone needs to write a script to montor -javadoc.jar files and extract them i suppose -igor On 3/12/07, Jean-Baptiste Quenot <[EMAIL PROTECTED]> wrote: OK, I improved the documentation accordingly. I don't know if this is published anywhere in real time however. Wicket team? Do you have a magic URL on wicketstuff.org for API documentation? -- Jean-Baptiste Quenot aka John Banana Qwerty http://caraldi.com/jbq/ - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV ___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user - Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV___ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user