Also see the XMLC 2.2 Release Note, XMLC 2.2.1 Release Note, XMLC 2.2.2 Release Note, XMLC 2.2.3 Release Note, XMLC 2.2.4 Release Note, XMLC 2.2.5 Release Note, XMLC 2.2.6 Release Note, XMLC 2.2.7.1 Release Note, XMLC 2.2.8.1 Release Note, XMLC 2.2.9 Release Note, XMLC 2.2.10 Release Note, XMLC 2.2.11 Release Note, XMLC 2.2.12 Release Note, XMLC 2.2.13 Release Note, and XMLC 2.2.14 Release Note.
XMLCDeferredParsingFactory
constructor to use XMLC's Cache
class for DOM caching by default
Now using default constructor of StandardDocumentLoader
instead of explicitly passing in a synchronized HashMap
. The default Map
used internally by StandardDocumentLoader
is a custom Cache
object that supports MRU behavior with a default MRU size of 64. Users can always pass in a DocumentLoader
using their own preferred Map
for caching to override this default.
Xmlc
Ant task update (more applicable to 2.3 than 2.2.xx)
Now setting the thread context classloader to allow Xerces [in a parent classloader] to find XMLC DOM Document classes in a child classloader. This is done normally in an application server, but apparently not during an Ant build (at least not in a useful way). The original thread context classloader is restored at the end of task execution to avoid leaking XMLC specifics to the build outside the context of the Xmlc
task.
Updated to ASM 3.0, wrapped it into XMLC's package namespace (org.enhydra.xml.xmlc.deferredparsing.asm), and included it in the XMLC library itself using JarJar (currently 1.0rc3). This resolves contention of incompatible ASM versions in the classpath and only adds 42k to the XMLC library. Now ASM is used exclusively for dynamic loading making support for other bytecode manipulation libraries, such as BCEL, unnecessary. Of course this also means that asm.jar is no longer required as a separate 3rd party dependency [when using dynamic loading].
Moved all 3rd party dependencies into "release/build-lib". "release/lib" now contains only XMLC build-generated artifacts.
Updated all example apps to account for the 3rd party library location changes. Modfied *.bat files to use "setlocal/endlocal" to avoid polluting the current command shell environment (not sure what the equivalent in UNIX is?). Updated the Tomcat example to support Tomcat6 in addition to 5.5 and 5.0.