commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gaulin, David: #CIPO - OPIC" <>
Subject [lang] org.apache.commons.lang.Entities
Date Wed, 26 Apr 2006 12:09:11 GMT

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

    static {
        XML = new Entities();

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.



  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message