commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Niall Pemberton (JIRA)" <>
Subject [jira] Resolved: (LANG-204) [lang] org.apache.commons.lang.Entities multithreaded init.
Date Fri, 19 Feb 2010 20:00:28 GMT


Niall Pemberton resolved LANG-204.

       Resolution: Fixed
    Fix Version/s:     (was: 2.x)

> [lang] org.apache.commons.lang.Entities multithreaded init.
> -----------------------------------------------------------
>                 Key: LANG-204
>                 URL:
>             Project: Commons Lang
>          Issue Type: Improvement
>          Components: lang.*
>    Affects Versions: 2.1
>         Environment: Operating System: other
> Platform: Other
>            Reporter: Gary Gregory
>            Priority: Minor
>             Fix For: 2.5
> -----Original Message-----
> From: Gaulin, David: #CIPO - OPIC [] 
> Sent: Wednesday, April 26, 2006 5:09 AM
> To:
> Subject: [lang] org.apache.commons.lang.Entities
> Hello,
> Not sure if it is the right mailling list but here we go anyway.
> I am currently using the class (well I am using the
> which uses that class).  Works really good, saved me a
> lot of time.  My thanks to the people who wrote it.
> I have encountered a little problems with it taught.  Nothing major but I just
> taugth I would share since it migth be of interest to you.
> I have an heavily multithreaded process that runs on a really under powered
> server.  All those threads access the StringEscapeUtils.escapeXml() methods
> pretty much at the same time.  What happens is that by the time the Second or
> Third Thread calls the StringEscapeUtils.escapeXml() the static initialization
> in the class has not completed yet.  That block in particular.
>     static {
>         XML = new Entities();
>         XML.addEntities(BASIC_ARRAY);
>         XML.addEntities(APOS_ARRAY);
>     }
> I don't get a NullPointer so it seems that XML = new Entities() is actually
> being executed before the other Thread starts but the
> XML.addEntities(BASIC_ARRAY) on the other hand is not executed before the other
> thread starts.  So when the second or third thread calls the
> StringEscapeUtils.escapeXml() it doesn't escape the BASIC_ARRAY or APOS_ARRAY
> entities.  To fix it, in my code, I just make sure to call
> StringEscapeUtils.escapeXml() before I start any threads and it solve the
> problems but if anyone is ever to re-work the class this might be something to
> look at.
> Just to share.
> Thank
> David

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

View raw message