I see the 'Hot Code Replace' section and the options are all checked. 
When I save a modified java file, it does get built and the .class file
does get updated in the exploded webapp tree.  This causes Tomcat to
reload the app -- my ServletContextListener methods tell me that the
context has been destroyed and re-initialized -- which takes less than a
second.

The "problem" is on my next access of the app in the browser.  Maybe
some apps would go faster, but mine takes about 10 seconds while things
get reconstructed:  a session, visit, Cayenne DataContext, and the page
(running with disable-caching), after which I get re-logged-in with a
cookie.  Our apps are definitely not stateless.

That's fine.  A 10-second turn-around, totally automatic.  I'm content
with it now.  It's certainly better than restarting the app server as
well as the app, which takes over a minute.

Thanks!


Schulte Marcus wrote:

>The instant turn-around works *without* app-reloading. And I'm guilty of
>liking it - without being a Ruby fan.
>It's a feature of Eclipse and the JDK (>=1.4). Have a look at
>Preferences/Java/Debug.
>
>  
>
>>-----Original Message-----
>>From: Bryan Lewis [mailto:[EMAIL PROTECTED]
>>Sent: Tuesday, January 17, 2006 6:30 PM
>>To: Tapestry users
>>Subject: Re: First page display slowdown in v 4.0
>>
>>
>>I hear what you're saying!  I prefer the good old
>>compiled-strong-type-checking Java approach... not a fan of perl,
>>haven't tried ruby.  I don't even like annotations yet. :-)  But I saw
>>some comments on the web that appeared to be  promising instant
>>turn-around for simple edits and I wanted it if I could get 
>>it.  Up till
>>now I've been happy with instant turn-around for html/page 
>>edits.  I can
>>live with an auto-reload after a code change, now that I know that's
>>what people are talking about.
>>
>>Thanks for the clarification.
>>
>>
>>Patrick Casey wrote:
>>
>>    
>>
>>>     That's the expected behavior. When you change a java 
>>>      
>>>
>>file, your IDE
>>    
>>
>>>recompiles the .class file. That, in turn, causes Tomcat (if 
>>>      
>>>
>>reloadable is
>>    
>>
>>>true) to throw away the current set of classes in memory and 
>>>      
>>>
>>do a reload.
>>    
>>
>>>For a simple project, this doesn't take long at all, but 
>>>      
>>>
>>when you have large
>>    
>>
>>>frameworks getting reloaded, be it Hibernate or Hivemind, 
>>>      
>>>
>>you're going to
>>    
>>
>>>take a performance hit.
>>>
>>>     A good rule of thumb is that if you're trying to 
>>>      
>>>
>>hot-patch live code
>>    
>>
>>>on a regular basis, take a step back and work a bit on your coding
>>>practices. Especially if you come from a dynamic language 
>>>      
>>>
>>background like
>>    
>>
>>>perl or ruby it's tempting to just start hacking the code of 
>>>      
>>>
>>a running
>>    
>>
>>>program. That's not usually the best approach with java 
>>>      
>>>
>>though, despite the
>>    
>>
>>>fact that with a modern IDE and debugger you can work this way.
>>>
>>>     Generally speaking you're better off making a bunch of 
>>>      
>>>
>>changes at
>>    
>>
>>>once, doing a recompile, and testing, rather than trying to 
>>>      
>>>
>>hot fix them one
>>    
>>
>>>at a time.
>>>
>>>     --- Pat
>>>
>>> 
>>>
>>>      
>>>
>>>>-----Original Message-----
>>>>From: Bryan Lewis [mailto:[EMAIL PROTECTED]
>>>>Sent: Monday, January 16, 2006 8:18 PM
>>>>To: Tapestry users
>>>>Subject: Re: First page display slowdown in v 4.0
>>>>
>>>>Yes, I tried that.  Whenever I changed a java file, the app 
>>>>        
>>>>
>>context got
>>    
>>
>>>>restarted which was rather slow.  Took 10 seconds for the app to be
>>>>ready to use again.  Is that what's supposed to happen?  I 
>>>>        
>>>>
>>was hoping
>>    
>>
>>>>for something like a one-second reload of just the one file 
>>>>        
>>>>
>>that changed.
>>    
>>
>>>>Patrick Casey wrote:
>>>>
>>>>   
>>>>
>>>>        
>>>>
>>>>>   Did you set reloadable="true" in your web.xml?
>>>>>
>>>>>   --- Pat
>>>>>
>>>>>
>>>>>
>>>>>     
>>>>>
>>>>>          
>>>>>
>>>>>>-----Original Message-----
>>>>>>From: Bryan Lewis [mailto:[EMAIL PROTECTED]
>>>>>>Sent: Monday, January 16, 2006 5:29 PM
>>>>>>To: Tapestry users
>>>>>>Subject: Re: First page display slowdown in v 4.0
>>>>>>
>>>>>>I must be doing something wrong then.  I've tried three 
>>>>>>            
>>>>>>
>>app servers,
>>    
>>
>>>>>>currently trying JBoss/Tomcat.  Running inside Eclipse, 
>>>>>>            
>>>>>>
>>starting in
>>    
>>
>>>>>>debug mode.  I have Tapestry's caching disabled in the startup
>>>>>>properties, and changes to the html or page files do take effect
>>>>>>immediately.  But when I make a small change inside a 
>>>>>>            
>>>>>>
>>Java method... it
>>    
>>
>>>>>>does get built  automatically, and the class file does 
>>>>>>            
>>>>>>
>>get updated in
>>    
>>
>>>>>>the webapp tree.  But the change doesn't show up in the 
>>>>>>            
>>>>>>
>>browser until I
>>    
>>
>>>>>>restart the server or reload the app.
>>>>>>
>>>>>>
>>>>>>Alexander Varakin wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>>       
>>>>>>
>>>>>>            
>>>>>>
>>>>>>>Hot-code-replace feature is available in Eclipse if you run web
>>>>>>>         
>>>>>>>
>>>>>>>              
>>>>>>>
>>>>container
>>>>   
>>>>
>>>>        
>>>>
>>>>>>>         
>>>>>>>
>>>>>>>              
>>>>>>>
>>>>>>in
>>>>>>
>>>>>>
>>>>>>       
>>>>>>
>>>>>>            
>>>>>>
>>>>>>>debug mode. The problem is that it takes twice longer to 
>>>>>>>              
>>>>>>>
>>display first
>>    
>>
>>>>>>>         
>>>>>>>
>>>>>>>              
>>>>>>>
>>>>>>page
>>>>>>
>>>>>>
>>>>>>       
>>>>>>
>>>>>>            
>>>>>>
>>>>>>>in debug mode. Also Hot-code-replace works only if you 
>>>>>>>              
>>>>>>>
>>don't touch
>>    
>>
>>>>>>>         
>>>>>>>
>>>>>>>              
>>>>>>>
>>>>>>function
>>>>>>
>>>>>>
>>>>>>       
>>>>>>
>>>>>>            
>>>>>>
>>>>>>>declarations.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>         
>>>>>>>
>>>>>>>              
>>>>>>>
>>>>>>----------------------------------------------------------
>>>>>>            
>>>>>>
>>-----------
>>    
>>
>>>>>>To unsubscribe, e-mail: 
>>>>>>            
>>>>>>
>>[EMAIL PROTECTED]
>>    
>>
>>>>>>For additional commands, e-mail: 
>>>>>>            
>>>>>>
>>[EMAIL PROTECTED]
>>    
>>
>>>>>>       
>>>>>>
>>>>>>            
>>>>>>
>>>>>-----------------------------------------------------------
>>>>>          
>>>>>
>>----------
>>    
>>
>>>>>To unsubscribe, e-mail: 
>>>>>          
>>>>>
>>[EMAIL PROTECTED]
>>    
>>
>>>>>For additional commands, e-mail: 
>>>>>          
>>>>>
>>[EMAIL PROTECTED]
>>    
>>
>>>>>
>>>>>     
>>>>>
>>>>>          
>>>>>
>>>
>>>
>>>---------------------------------------------------------------------
>>>To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>For additional commands, e-mail: 
>>>      
>>>
>>[EMAIL PROTECTED]
>>    
>>
>>> 
>>>
>>>      
>>>
>>    
>>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]
>
>  
>

Reply via email to