I'll take a look at this Bryan, it may take a couple of day to get
back to it.  Thanks for doing the work.


On Fri, 10 Dec 2004 14:33:11 -0800 (PST), Bryan Che (JIRA)
<[email protected]> wrote:
>      [ http://nagoya.apache.org/jira/browse/BEEHIVE-128?page=history ]
> 
> Bryan Che updated BEEHIVE-128:
> ------------------------------
> 
>     Attachment: urlencode-patch.tar.gz
> 
> This is the README included in the patch:
> 
> This is a patch that changes Beehive from using the
> java.net.URLEncoder/Decoder to org.apache.commons.codec.net.URLCodec for
> performance and scalability reasons.  The URLCodec in commons codec
> performs over 4x faster than the Sun implementation.  Additionally, I
> have many times found scalability bottlenecks with java.net.URLEncoder
> in pages that do a fair amount of encoding.  A page with many links
> might do this, for example.
> 
> I am including a benchmark, CodecTest.java, that demonstrates the
> performance difference between the encoding methods.  The results are in
> CodecTest.results.
> 
> At a high level, this patch does several things:
> - move commons-codec-1.3.jar from wsm/external just to external so that
>   netui can access it too
> - add a class, org.apache.beehive.netui.util.URLCodec that has static
>   methods for encoding/decoding.  This will allow beehive to easily
>   switch URLEncoding/decoding implementations by just modifying this
>   class.
> - change Beehive code to use org.apache.beehive.netui.util.URLCodec
>   instead of the java.net classes
> - refactor the code base by moving the classes under
>   netui/src/util/org/apache/beehive/netui/core into a new module,
>   netui/src/core/org/apache/beehive/netui/core.  I had to do this
>   in order for the util module not to have any dependencies on other
>   modules.  Otherwise, there would have been circular dependencies with
>   util referring to classes in other packages and other packages
>   referring to the URLCodec in util.  The classes I moved to core didn't
>   seem to belong in the util module anyway, since they are in the
>   org.apache.beehive.netui.core.urls packages and not the
>   org.apache.beehive.netui.util package
> - update build.xml files to refer to the new core jar file
> 
> This patch modifies the following files listed in patch.txt:
> - wsm/build.xml
> - beehive.properties
> - netui/src/util/build.xml
> - netui/src/pageflow/build.xml
> - netui/src/tags-html/build.xml
> - netui/src/tags-databinding/build.xml
> - netui/ant/build.xml
> - netui/ant/netui.properties
> - build.xml
> - netui/src/tags-html/org/apache/beehive/netui/tags/tree/Tree.java
> - netui/src/util/org/apache/beehive/netui/core/urls/MutableURI.java
> - 
> netui/src/scoping/org/apache/beehive/netui/pageflow/scoping/internal/ScopedRequestImpl.java
> - wsm/drt/build.xml
> - netui/src/tags-html/org/apache/beehive/netui/tags/HtmlUtils.java
> 
> Additionally, you have to perform the following steps in svn:
> - move commons-codec from wsm/external/commons-codec-1.3.jar to
>   external/commons-codec/commons-codec-1.3.jar
> - move the package netui/src/util/org/apache/beehive/netui/core to
>   netui/src/core/org/apache/beehive/netui/core after you have patched
>   MutableURI.java
> - add netui/src/core/build.xml
> - add netui/src/util/org/apache/beehive/netui/util/URLCodec.java
> 
> > Switch from java.net.URLEncoder/Decoder to 
> > org.apache.commons.codec.net.URLCodec for
> performance and scalability reasons
> > -------------------------------------------------------------------------------------------------------------------------
> >
> >          Key: BEEHIVE-128
> >          URL: http://nagoya.apache.org/jira/browse/BEEHIVE-128
> >      Project: Beehive
> >         Type: Improvement
> >   Components: NetUI, Web Services (181), Build
> >     Reporter: Bryan Che
> >  Attachments: urlencode-patch.tar.gz
> >
> > java.net.URLEncoder/Decoder is pretty slow and often bottlenecks 
> > pages/servers that do a fair amount of encoding.  We should switch to 
> > org.apache.commons.codec.net.URLCodec instead, which is much 
> > faster--especially since Beehive already ships commons-codec.  I have a 
> > patch that does this and will be uploading it shortly.
> 
> --
> This message is automatically generated by JIRA.
> -
> If you think it was sent incorrectly contact one of the administrators:
>    http://nagoya.apache.org/jira/secure/Administrators.jspa
> -
> If you want more information on JIRA, or have a bug to report see:
>    http://www.atlassian.com/software/jira
> 
>

Reply via email to