You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by Dion Gillard <di...@gmail.com> on 2005/08/04 08:11:51 UTC
Re: svn commit: r227285 - in /jakarta/commons/proper/jelly/trunk: src/java/org/apache/commons/jelly/JellyContext.java src/java/org/apache/commons/jelly/impl/TagScript.java src/test/org/apache/commons/jelly/core/BaseMemoryLeakTest.java xdocs/changes.x
Can we call the version in project.xml and changes.xml 1.1-SNAPSHOT
instead of 1.1-dev?
On 8/4/05, proyal@apache.org <pr...@apache.org> wrote:
> Author: proyal
> Date: Wed Aug 3 18:26:19 2005
> New Revision: 227285
>
> URL: http://svn.apache.org/viewcvs?rev=227285&view=rev
> Log:
> Restore JellyContext.isCacheTags to fix regression
>
> Modified:
> jakarta/commons/proper/jelly/trunk/src/java/org/apache/commons/jelly/JellyContext.java
> jakarta/commons/proper/jelly/trunk/src/java/org/apache/commons/jelly/impl/TagScript.java
> jakarta/commons/proper/jelly/trunk/src/test/org/apache/commons/jelly/core/BaseMemoryLeakTest.java
> jakarta/commons/proper/jelly/trunk/xdocs/changes.xml
>
> Modified: jakarta/commons/proper/jelly/trunk/src/java/org/apache/commons/jelly/JellyContext.java
> URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/jelly/trunk/src/java/org/apache/commons/jelly/JellyContext.java?rev=227285&r1=227284&r2=227285&view=diff
> ==============================================================================
> --- jakarta/commons/proper/jelly/trunk/src/java/org/apache/commons/jelly/JellyContext.java (original)
> +++ jakarta/commons/proper/jelly/trunk/src/java/org/apache/commons/jelly/JellyContext.java Wed Aug 3 18:26:19 2005
> @@ -20,17 +20,15 @@
> import java.io.InputStream;
> import java.net.MalformedURLException;
> import java.net.URL;
> -import java.util.Collections;
> -import java.util.HashMap;
> import java.util.Hashtable;
> import java.util.Iterator;
> import java.util.Map;
> -import java.util.WeakHashMap;
>
> import org.apache.commons.jelly.parser.XMLParser;
> import org.apache.commons.jelly.util.ClassLoaderUtils;
> import org.apache.commons.logging.Log;
> import org.apache.commons.logging.LogFactory;
> +
> import org.xml.sax.InputSource;
> import org.xml.sax.SAXException;
>
> @@ -92,6 +90,9 @@
> /** Should we export tag libraries to our parents context */
> private boolean exportLibraries = true;
>
> + /** Should we cache Tag instances, per thread, to reduce object contruction overhead? */
> + private boolean cacheTags = false;
> +
> /**
> * Create a new context with the currentURL set to the rootURL
> */
> @@ -132,6 +133,7 @@
> this.rootURL = parent.rootURL;
> this.currentURL = parent.currentURL;
> this.variables.put("parentScope", parent.variables);
> + this.cacheTags = parent.cacheTags;
> init();
> }
>
> @@ -799,6 +801,30 @@
> */
> public void setCurrentURL(URL currentURL) {
> this.currentURL = currentURL;
> + }
> +
> + /**
> + * Returns whether caching of Tag instances, per thread, is enabled.
> + * Caching Tags can boost performance, on some JVMs, by reducing the cost of
> + * object construction when running Jelly inside a multi-threaded application server
> + * such as a Servlet engine.
> + *
> + * @return whether caching of Tag instances is enabled.
> + */
> + public boolean isCacheTags() {
> + return cacheTags;
> + }
> +
> + /**
> + * Sets whether caching of Tag instances, per thread, is enabled.
> + * Caching Tags can boost performance, on some JVMs, by reducing the cost of
> + * object construction when running Jelly inside a multi-threaded application server
> + * such as a Servlet engine.
> + *
> + * @param cacheTags Whether caching should be enabled or disabled.
> + */
> + public void setCacheTags(boolean cacheTags) {
> + this.cacheTags = cacheTags;
> }
>
> /**
>
> Modified: jakarta/commons/proper/jelly/trunk/src/java/org/apache/commons/jelly/impl/TagScript.java
> URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/jelly/trunk/src/java/org/apache/commons/jelly/impl/TagScript.java?rev=227285&r1=227284&r2=227285&view=diff
> ==============================================================================
> --- jakarta/commons/proper/jelly/trunk/src/java/org/apache/commons/jelly/impl/TagScript.java (original)
> +++ jakarta/commons/proper/jelly/trunk/src/java/org/apache/commons/jelly/impl/TagScript.java Wed Aug 3 18:26:19 2005
> @@ -203,6 +203,9 @@
> public void run(JellyContext context, XMLOutput output) throws JellyTagException {
> URL rootURL = context.getRootURL();
> URL currentURL = context.getCurrentURL();
> + if ( ! context.isCacheTags() ) {
> + clearTag();
> + }
> try {
> Tag tag = getTag(context);
> if ( tag == null ) {
> @@ -527,6 +530,13 @@
> }
> }
>
> + /**
> + * Flushes the current cached tag so that it will be created, lazily, next invocation
> + */
> + protected void clearTag() {
> + Thread t = Thread.currentThread();
> + threadLocalTagCache.put(t,null);
> + }
>
> /**
> * Allows the script to set the tag instance to be used, such as in a StaticTagScript
>
> Modified: jakarta/commons/proper/jelly/trunk/src/test/org/apache/commons/jelly/core/BaseMemoryLeakTest.java
> URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/jelly/trunk/src/test/org/apache/commons/jelly/core/BaseMemoryLeakTest.java?rev=227285&r1=227284&r2=227285&view=diff
> ==============================================================================
> --- jakarta/commons/proper/jelly/trunk/src/test/org/apache/commons/jelly/core/BaseMemoryLeakTest.java (original)
> +++ jakarta/commons/proper/jelly/trunk/src/test/org/apache/commons/jelly/core/BaseMemoryLeakTest.java Wed Aug 3 18:26:19 2005
> @@ -41,7 +41,7 @@
> * @author Hans Gilde
> *
> */
> -public class BaseMemoryLeakTest extends TestCase {
> +public abstract class BaseMemoryLeakTest extends TestCase {
> private final static Log log = LogFactory.getLog(BaseMemoryLeakTest.class);
>
> /**
>
> Modified: jakarta/commons/proper/jelly/trunk/xdocs/changes.xml
> URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/jelly/trunk/xdocs/changes.xml?rev=227285&r1=227284&r2=227285&view=diff
> ==============================================================================
> --- jakarta/commons/proper/jelly/trunk/xdocs/changes.xml (original)
> +++ jakarta/commons/proper/jelly/trunk/xdocs/changes.xml Wed Aug 3 18:26:19 2005
> @@ -24,6 +24,9 @@
> <author email="dion@apache.org">dIon Gillard</author>
> </properties>
> <body>
> + <release version="1.1-dev">
> + <action dev="proyal" type="fix">Restored JellyContext.isCacheTags and its behavior for backwards compatibility</action>
> + </release>
> <release version="1.0" date="2005-06-12">
> <action dev="brett" type="fix" due-to="Hans Gilde">Improve tag caching to improve memory consumption</action>
> <action dev="dion" type="fix" issue="JELLY-196">SwitchTag can not be reused if default encountered.</action>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: commons-dev-help@jakarta.apache.org
>
>
--
http://www.multitask.com.au/people/dion/
"You are going to let the fear of poverty govern your life and your
reward will be that you will eat, but you will not live." - George
Bernard Shaw
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org
Re: svn commit: r227285 - in /jakarta/commons/proper/jelly/trunk:
src/java/org/apache/commons/jelly/JellyContext.java src/java/org/apache/commons/jelly/impl/TagScript.java
src/test/org/apache/commons/jelly/core/BaseMemoryLeakTest.java xdocs/changes.x
Posted by Brett Porter <br...@apache.org>.
This short piece might help:
http://maven.apache.org/using/bestpractices.html#Project_Development_Cycle
Here is a piece on maven2, which maven1 is now consistent with so might
be helpful:
http://blogs.codehaus.org/people/brett/archives/001045_improved_snapshots_in_maven2.html
I'm looking to work on Apache repository guidelines this week to collate
all the information, I'll keep this in mind.
Cheers,
Brett
Paul Libbrecht wrote:
> Dion,
>
> last time you pointed me to this I asked wether the snapshot naming
> was not something that was made only as an postfix added by maven
> plugins... I never got an answer and would still be fearing that
> maven makes us a 1.1-SNAPSHOT-SNAPSHOT in some repository.
>
> Unless there's a logic for that.
>
> thanks
>
> paul
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org
Re: svn commit: r227285 - in /jakarta/commons/proper/jelly/trunk: src/java/org/apache/commons/jelly/JellyContext.java src/java/org/apache/commons/jelly/impl/TagScript.java src/test/org/apache/commons/jelly/core/BaseMemoryLeakTest.java xdocs/changes.x
Posted by Paul Libbrecht <pa...@activemath.org>.
Dion,
last time you pointed me to this I asked wether the snapshot naming was
not something that was made only as an postfix added by maven
plugins... I never got an answer and would still be fearing that maven
makes us a 1.1-SNAPSHOT-SNAPSHOT in some repository.
Unless there's a logic for that.
thanks
paul
Le 4 août 05, à 08:11, Dion Gillard a écrit :
> Can we call the version in project.xml and changes.xml 1.1-SNAPSHOT
> instead of 1.1-dev?
>
> On 8/4/05, proyal@apache.org <pr...@apache.org> wrote:
>> Author: proyal
>> Date: Wed Aug 3 18:26:19 2005
>> New Revision: 227285
>>
>> URL: http://svn.apache.org/viewcvs?rev=227285&view=rev
>> Log:
>> Restore JellyContext.isCacheTags to fix regression
>>
>> Modified:
>>
>> jakarta/commons/proper/jelly/trunk/src/java/org/apache/commons/jelly/
>> JellyContext.java
>>
>> jakarta/commons/proper/jelly/trunk/src/java/org/apache/commons/jelly/
>> impl/TagScript.java
>>
>> jakarta/commons/proper/jelly/trunk/src/test/org/apache/commons/jelly/
>> core/BaseMemoryLeakTest.java
>> jakarta/commons/proper/jelly/trunk/xdocs/changes.xml
>>
>> Modified:
>> jakarta/commons/proper/jelly/trunk/src/java/org/apache/commons/jelly/
>> JellyContext.java
>> URL:
>> http://svn.apache.org/viewcvs/jakarta/commons/proper/jelly/trunk/src/
>> java/org/apache/commons/jelly/JellyContext.java?
>> rev=227285&r1=227284&r2=227285&view=diff
>> ======================================================================
>> ========
>> ---
>> jakarta/commons/proper/jelly/trunk/src/java/org/apache/commons/jelly/
>> JellyContext.java (original)
>> +++
>> jakarta/commons/proper/jelly/trunk/src/java/org/apache/commons/jelly/
>> JellyContext.java Wed Aug 3 18:26:19 2005
>> @@ -20,17 +20,15 @@
>> import java.io.InputStream;
>> import java.net.MalformedURLException;
>> import java.net.URL;
>> -import java.util.Collections;
>> -import java.util.HashMap;
>> import java.util.Hashtable;
>> import java.util.Iterator;
>> import java.util.Map;
>> -import java.util.WeakHashMap;
>>
>> import org.apache.commons.jelly.parser.XMLParser;
>> import org.apache.commons.jelly.util.ClassLoaderUtils;
>> import org.apache.commons.logging.Log;
>> import org.apache.commons.logging.LogFactory;
>> +
>> import org.xml.sax.InputSource;
>> import org.xml.sax.SAXException;
>>
>> @@ -92,6 +90,9 @@
>> /** Should we export tag libraries to our parents context */
>> private boolean exportLibraries = true;
>>
>> + /** Should we cache Tag instances, per thread, to reduce object
>> contruction overhead? */
>> + private boolean cacheTags = false;
>> +
>> /**
>> * Create a new context with the currentURL set to the rootURL
>> */
>> @@ -132,6 +133,7 @@
>> this.rootURL = parent.rootURL;
>> this.currentURL = parent.currentURL;
>> this.variables.put("parentScope", parent.variables);
>> + this.cacheTags = parent.cacheTags;
>> init();
>> }
>>
>> @@ -799,6 +801,30 @@
>> */
>> public void setCurrentURL(URL currentURL) {
>> this.currentURL = currentURL;
>> + }
>> +
>> + /**
>> + * Returns whether caching of Tag instances, per thread, is
>> enabled.
>> + * Caching Tags can boost performance, on some JVMs, by reducing
>> the cost of
>> + * object construction when running Jelly inside a
>> multi-threaded application server
>> + * such as a Servlet engine.
>> + *
>> + * @return whether caching of Tag instances is enabled.
>> + */
>> + public boolean isCacheTags() {
>> + return cacheTags;
>> + }
>> +
>> + /**
>> + * Sets whether caching of Tag instances, per thread, is enabled.
>> + * Caching Tags can boost performance, on some JVMs, by reducing
>> the cost of
>> + * object construction when running Jelly inside a
>> multi-threaded application server
>> + * such as a Servlet engine.
>> + *
>> + * @param cacheTags Whether caching should be enabled or
>> disabled.
>> + */
>> + public void setCacheTags(boolean cacheTags) {
>> + this.cacheTags = cacheTags;
>> }
>>
>> /**
>>
>> Modified:
>> jakarta/commons/proper/jelly/trunk/src/java/org/apache/commons/jelly/
>> impl/TagScript.java
>> URL:
>> http://svn.apache.org/viewcvs/jakarta/commons/proper/jelly/trunk/src/
>> java/org/apache/commons/jelly/impl/TagScript.java?
>> rev=227285&r1=227284&r2=227285&view=diff
>> ======================================================================
>> ========
>> ---
>> jakarta/commons/proper/jelly/trunk/src/java/org/apache/commons/jelly/
>> impl/TagScript.java (original)
>> +++
>> jakarta/commons/proper/jelly/trunk/src/java/org/apache/commons/jelly/
>> impl/TagScript.java Wed Aug 3 18:26:19 2005
>> @@ -203,6 +203,9 @@
>> public void run(JellyContext context, XMLOutput output) throws
>> JellyTagException {
>> URL rootURL = context.getRootURL();
>> URL currentURL = context.getCurrentURL();
>> + if ( ! context.isCacheTags() ) {
>> + clearTag();
>> + }
>> try {
>> Tag tag = getTag(context);
>> if ( tag == null ) {
>> @@ -527,6 +530,13 @@
>> }
>> }
>>
>> + /**
>> + * Flushes the current cached tag so that it will be created,
>> lazily, next invocation
>> + */
>> + protected void clearTag() {
>> + Thread t = Thread.currentThread();
>> + threadLocalTagCache.put(t,null);
>> + }
>>
>> /**
>> * Allows the script to set the tag instance to be used, such as
>> in a StaticTagScript
>>
>> Modified:
>> jakarta/commons/proper/jelly/trunk/src/test/org/apache/commons/jelly/
>> core/BaseMemoryLeakTest.java
>> URL:
>> http://svn.apache.org/viewcvs/jakarta/commons/proper/jelly/trunk/src/
>> test/org/apache/commons/jelly/core/BaseMemoryLeakTest.java?
>> rev=227285&r1=227284&r2=227285&view=diff
>> ======================================================================
>> ========
>> ---
>> jakarta/commons/proper/jelly/trunk/src/test/org/apache/commons/jelly/
>> core/BaseMemoryLeakTest.java (original)
>> +++
>> jakarta/commons/proper/jelly/trunk/src/test/org/apache/commons/jelly/
>> core/BaseMemoryLeakTest.java Wed Aug 3 18:26:19 2005
>> @@ -41,7 +41,7 @@
>> * @author Hans Gilde
>> *
>> */
>> -public class BaseMemoryLeakTest extends TestCase {
>> +public abstract class BaseMemoryLeakTest extends TestCase {
>> private final static Log log =
>> LogFactory.getLog(BaseMemoryLeakTest.class);
>>
>> /**
>>
>> Modified: jakarta/commons/proper/jelly/trunk/xdocs/changes.xml
>> URL:
>> http://svn.apache.org/viewcvs/jakarta/commons/proper/jelly/trunk/
>> xdocs/changes.xml?rev=227285&r1=227284&r2=227285&view=diff
>> ======================================================================
>> ========
>> --- jakarta/commons/proper/jelly/trunk/xdocs/changes.xml (original)
>> +++ jakarta/commons/proper/jelly/trunk/xdocs/changes.xml Wed Aug 3
>> 18:26:19 2005
>> @@ -24,6 +24,9 @@
>> <author email="dion@apache.org">dIon Gillard</author>
>> </properties>
>> <body>
>> + <release version="1.1-dev">
>> + <action dev="proyal" type="fix">Restored
>> JellyContext.isCacheTags and its behavior for backwards
>> compatibility</action>
>> + </release>
>> <release version="1.0" date="2005-06-12">
>> <action dev="brett" type="fix" due-to="Hans Gilde">Improve tag
>> caching to improve memory consumption</action>
>> <action dev="dion" type="fix" issue="JELLY-196">SwitchTag can
>> not be reused if default encountered.</action>
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
>> For additional commands, e-mail: commons-dev-help@jakarta.apache.org
>>
>>
>
>
> --
> http://www.multitask.com.au/people/dion/
> "You are going to let the fear of poverty govern your life and your
> reward will be that you will eat, but you will not live." - George
> Bernard Shaw
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: commons-dev-help@jakarta.apache.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org