T4.1.2 is released and in the main repo:

http://mvnrepository.com/artifact/org.apache.tapestry/tapestry-framework

My POM:

<dependency>
        <groupId>org.apache.tapestry</groupId>
        <artifactId>tapestry-framework</artifactId>
        <version>4.1.2</version>
</dependency>
<dependency>
        <groupId>org.apache.tapestry</groupId>
        <artifactId>tapestry-annotations</artifactId>
        <version>4.1.2</version>
</dependency>
<dependency>
        <groupId>org.apache.tapestry</groupId>
        <artifactId>tapestry-contrib</artifactId>
        <version>4.1.2</version>
</dependency>
<dependency>
        <groupId>com.ewerk</groupId>
        <artifactId>ewerk-tapestry-components</artifactId>
        <version>0.0.7</version>
</dependency>
<dependency>
        <groupId>com.javaforge.tapestry</groupId>
        <artifactId>tapestry-spring</artifactId>
        <version>1.0.0</version>
        <!-- exclude the old referenced version of tapestry -->
        <exclusions>
                <exclusion>
                        <groupId>tapestry</groupId>
                        <artifactId>tapestry</artifactId>
                </exclusion>
                <exclusion>
                        <groupId>tapestry</groupId>
                        <artifactId>tapestry-annotations</artifactId>
                </exclusion>
        </exclusions>
</dependency> 


Mit lieben Grüßen aus dem eWerk

  |  Holger Stolzenberg
  |  Softwareentwickler
  |
  |  Geschäftsführer: 
  |  Frank Richter, Erik Wende, Hendrik Schubert
  |
  |  eWerk IT GmbH
  |  Markt 16
  |  Leipzig 04109
  |  http://www.ewerk.com
  |  HRB 9065, AG Leipzig
  |  Hauptniederlassung Leipzig
  |
  |  fon +49.341.4 26 49-0
  |  fax +49.341.4 26 49-88
  |  mailto:[EMAIL PROTECTED]
  |
  |  Support:
  |  fon 0700 CALLME24 (0700 22556324)
  |  fax 0700 CALLME24 (0700 22556324)
  |
  | Auskünfte und Angebote per Mail
  | sind freibleibend und unverbindlich. 

-----Ursprüngliche Nachricht-----
Von: Peter Stavrinides [mailto:[EMAIL PROTECTED] 
Gesendet: Mittwoch, 29. August 2007 09:31
An: Tapestry users
Betreff: Re: Memory consumption in T4.1.2 - Hard data

Correct me if I am wrong 4.1.2 is not released as yet, and not in the main 
repository, so how else would I get to it?

[EMAIL PROTECTED] wrote:
> But that POM does use snapshots.
> You shouldn't need the repository
> http://people.apache.org/repo/m2-snapshot-repository
> at all.
> Probably, there are no very significant differences between the latest
> 4.1.2 snapshot and the release. But nevertheless, for a productive 
> environment, I'd always go with a released version.
>
>   
>> -----Original Message-----
>> From: Peter Stavrinides [mailto:[EMAIL PROTECTED]
>> Sent: Wednesday, August 29, 2007 7:45 AM
>> To: Tapestry users
>> Subject: Re: Memory consumption in T4.1.2 - Hard data
>>
>> This is my POM:
>>
>> <repositories>
>> <repository>
>> <releases>
>> <updatePolicy>always</updatePolicy>
>> <checksumPolicy>warn</checksumPolicy>
>> </releases>
>> <snapshots>
>> <updatePolicy>always</updatePolicy>
>> <checksumPolicy>fail</checksumPolicy>
>> <repository>
>> <id>apache.snapshots</id>
>> <url>http://people.apache.org/repo/m2-snapshot-repository</url>
>> </repository>
>> </repositories>
>>
>> <dependency>
>> <groupId>org.apache.tapestry</groupId>
>> <artifactId>tapestry-framework</artifactId>
>> <version>4.1.2-SNAPSHOT</version>
>> <scope>test</scope>
>> </dependency>
>> <dependency>
>> <groupId>org.apache.tapestry</groupId>
>> <artifactId>tapestry-annotations</artifactId>
>> <version>4.1.2-SNAPSHOT</version>
>> <scope>test</scope>
>> </dependency>
>> <dependency>
>> <groupId>org.apache.tapestry</groupId>
>> <artifactId>tapestry-contrib</artifactId>
>> <version>4.1.2-SNAPSHOT</version>
>> <scope>test</scope>
>> </dependency>
>> <dependency>
>> <groupId>org.apache.tapestry</groupId>
>> <artifactId>tapestry-portlet</artifactId>
>> <version>4.1.2-SNAPSHOT</version>
>> <scope>test</scope>
>> </dependency>
>>
>> [EMAIL PROTECTED] wrote:
>>     
>>>  
>>>   
>>>       
>>>> my configuration is as follows:
>>>>
>>>> JDK 6.01 32bit JVM (I have also tested on a 64 bit with no
>>>> luck) Tomcat 5.5.20 Debian Linux (2.6.15.28 kernel) Tapestry 
>>>> 4.1.2-SNAPSHOT with ognl 2.7
>>>>
>>>>     
>>>>         
>>> Hi Peter, 4.1.2-SNAPSHOT is a typo, I suppose?
>>>
>>>   
>>>       
>>>> regards,
>>>> Peter
>>>>
>>>> Jesse Kuhnert wrote:
>>>>     
>>>>         
>>>>> I'd downgrade then if I were you.   Extensive profiling 
>>>>>           
>> with yourkit
>>     
>>>>> hasn't shed any new light on whatever problems others are having.
>>>>> The OGNL classes indeed aren't being kept in the javassist
>>>>>       
>>>>>           
>>>> pool from
>>>>     
>>>>         
>>>>> what I can tell.
>>>>>
>>>>> I have another yourkit snapshot binary to look at so we'll
>>>>>       
>>>>>           
>>>> see what that says.
>>>>     
>>>>         
>>>>> I don't remember - have you filed any bug reports or reported any 
>>>>> problems?  Are you getting ognl exceptions during
>>>>>       
>>>>>           
>>>> development as well
>>>>     
>>>>         
>>>>> as production?  Do these errors sound like
>>>>>       
>>>>>           
>>>> ummmmm....potential errors
>>>>     
>>>>         
>>>>> that should be looked at further?
>>>>>
>>>>> On 8/28/07, Peter Stavrinides <[EMAIL PROTECTED]> wrote:
>>>>>   
>>>>>       
>>>>>           
>>>>>> Hi Jessie
>>>>>>
>>>>>> Any progress on this? .... sorry to bug you, but I have
>>>>>>             
>> to take a
>>     
>>>>>> decision soon, I have two production machines that will need to 
>>>>>> upgrade or downgrade Tapestry.
>>>>>>
>>>>>> Best wishes,
>>>>>> Peter
>>>>>>
>>>>>> Jon Oakes wrote:
>>>>>>     
>>>>>>         
>>>>>>             
>>>>>>> Hi Bryan,
>>>>>>>
>>>>>>> I am a relative newbie but I was wondering if  you are
>>>>>>>           
>>>>>>>               
>>>> running with
>>>>     
>>>>         
>>>>>>> caching enabled or disabled?  It might make sense to
>>>>>>>               
>> keep things
>>     
>>>>>>> around when caching is disabled whereas I think it would
>>>>>>>           
>>>>>>>               
>>>> clearly be
>>>>     
>>>>         
>>>>>>> a bug to keep things around with it disabled.
>>>>>>>
>>>>>>> Jon Oakes
>>>>>>>
>>>>>>>
>>>>>>> Jesse Kuhnert wrote:
>>>>>>>       
>>>>>>>           
>>>>>>>               
>>>>>>>> Hmmm...well,  I don't think I like the sound of any of
>>>>>>>>             
>>>>>>>>                 
>>>> that.  I'm just
>>>>     
>>>>         
>>>>>>>> going to pretend this problem doesn't exist.   (just kidding)
>>>>>>>>
>>>>>>>> I had thought I was doing something special with the ognl 
>>>>>>>> compilations that would cause its generated classes to
>>>>>>>>                 
>> not hang
>>     
>>>>>>>> around afterwards in any pools.
>>>>>>>>
>>>>>>>> I'll take a look at things this weekend and am sure a fix will 
>>>>>>>> appear in between now and Monday - if there is a
>>>>>>>>             
>>>>>>>>                 
>>>> reasonable fix to be found.
>>>>     
>>>>         
>>>>>>>> (in 4.1.3 snapshot form)
>>>>>>>>
>>>>>>>> On 8/24/07, Bryan Dotzour <[EMAIL PROTECTED]>
>>>>>>>>             
>>>>>>>>                 
>>>> <mailto:[EMAIL PROTECTED]> wrote:
>>>>     
>>>>         
>>>>>>>>         
>>>>>>>>             
>>>>>>>>                 
>>>>>>>>> I and another colleague of mine have been investigating
>>>>>>>>>               
>>>>>>>>>                   
>>>> what seems
>>>>     
>>>>         
>>>>>>>>> to be a "memory leak" in our Tapestry application for about a 
>>>>>>>>> month since we upgraded to T4.1.2.  I won't bore you
>>>>>>>>>               
>>>>>>>>>                   
>>>> with the saga
>>>>     
>>>>         
>>>>>>>>> of the last month, but I would like to present the data I've 
>>>>>>>>> gathered and look to the list for a proposed solution.  I was 
>>>>>>>>> reading a recent thread in which Jesse said (08/09/2007):
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> "There is a map that grows as large as the system using it 
>>>>>>>>> internally to javassist of various cached reflection
>>>>>>>>>               
>>>>>>>>>                   
>>>> info - but it
>>>>     
>>>>         
>>>>>>>>> doesn't leak in any way."
>>>>>>>>>
>>>>>>>>> This is precisely what I've found in profiling our
>>>>>>>>>               
>>>>>>>>>                   
>>>> application and
>>>>     
>>>>         
>>>>>>>>> it
>>>>>>>>> *appears* to be this map that is causing our applications to 
>>>>>>>>> eventually run out of memory.
>>>>>>>>>
>>>>>>>>> The YourKit profiler shows me that, as time goes on,
>>>>>>>>>               
>>>>>>>>>                   
>>>> there is an
>>>>     
>>>>         
>>>>>>>>> instance of HiveMindClassPool  that grows and grows as class 
>>>>>>>>> instances are created.  This class extends from 
>>>>>>>>> javassist.ClassPool and is the map that Jesse is
>>>>>>>>>               
>>>>>>>>>                   
>>>> talking about in
>>>>     
>>>>         
>>>>>>>>> his quote above.  And he's right, I wouldn't say that
>>>>>>>>>                   
>> the class
>>     
>>>>>>>>> pool "leaks" either because it looks like it's designed
>>>>>>>>>               
>>>>>>>>>                   
>>>> to retain
>>>>     
>>>>         
>>>>>>>>> that memory until the class pool itself is no longer needed.
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> Take this quote from the javassist.ClassPool javadocs:
>>>>>>>>>
>>>>>>>>> "Memory consumption memo:
>>>>>>>>> ClassPool objects hold all the CtClasses that have been
>>>>>>>>>               
>>>>>>>>>                   
>>>> created so
>>>>     
>>>>         
>>>>>>>>> that the consistency among modified classes can be
>>>>>>>>>                   
>> guaranteed. 
>>     
>>>>>>>>> Thus if a large number of CtClasses are processed, the
>>>>>>>>>               
>>>>>>>>>                   
>>>> ClassPool
>>>>     
>>>>         
>>>>>>>>> will consume a huge amount of memory. To avoid this, a
>>>>>>>>>               
>>>>>>>>>                   
>>>> ClassPool
>>>>     
>>>>         
>>>>>>>>> object should be recreated, for example, every
>>>>>>>>>                   
>> hundred classes
>>     
>>>>>>>>> processed. Note that
>>>>>>>>> getDefault() is a singleton factory. Otherwise, detach() in 
>>>>>>>>> CtClass should be used to avoid huge memory consumption. "
>>>>>>>>>
>>>>>>>>> This huge memory consumption by the ClassPool is what I was 
>>>>>>>>> seeing. In particular it is the ClassPool that is held
>>>>>>>>>               
>>>>>>>>>                   
>>>> onto by OgnlRuntime.
>>>>     
>>>>         
>>>>>>>>> Inspecting this object in the profiler showed that it
>>>>>>>>>                   
>> has a map
>>     
>>>>>>>>> containing about 45,000 classes.  All of the keys
>>>>>>>>>                   
>> into this map
>>     
>>>>>>>>> were things like:  "ASTTest_11494aca9af" and
>>>>>>>>>               
>>>>>>>>>                   
>>>> "ASTAnd_11494ace4fb" 
>>>>     
>>>>         
>>>>>>>>> and the values are instances of javassist.CtNewClass.  
>>>>>>>>>               
>>>>>>>>>                   
>>>> Each entry
>>>>     
>>>>         
>>>>>>>>> in this map looks like it retains about 1,900 bytes,
>>>>>>>>>               
>>>>>>>>>                   
>>>> for a grand
>>>>     
>>>>         
>>>>>>>>> total of about 90 MB of memory used.
>>>>>>>>>
>>>>>>>>> These numbers came from my staging deployment where I had the 
>>>>>>>>> profiler attached, using some reflection tricks I was
>>>>>>>>>               
>>>>>>>>>                   
>>>> able to look
>>>>     
>>>>         
>>>>>>>>> at a production site and found that it had about
>>>>>>>>>               
>>>>>>>>>                   
>>>> 240,000 items in
>>>>     
>>>>         
>>>>>>>>> that class pool.. approximately 450 MB of memory.
>>>>>>>>>
>>>>>>>>> So I guess the questions in my mind are:  Why are
>>>>>>>>>                   
>> there so many
>>     
>>>>>>>>> classes in the pool?  Why does the number only ever
>>>>>>>>>                   
>> go up?  Do
>>     
>>>>>>>>> those classes really need to stay in the pool forever?
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>           
>>>>>>>>>               
>>>>>>>>>                   
>> --------------------------------------------------------------------
>>     
>>>>     
>>>>         
>>>>>>> - 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]
>>>
>>>   
>>>       
>> ---------------------------------------------------------------------
>> 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