The fact that you described the XMLBeans proxy objects as "leaking" through the API says it all - they should have been encapsulated from the start. If you add the facts that: - the XMLBeans project is dead (in the attic for over a year, reboot is stuck) - we have/had so many issues with it - it might be an overkill in regards to unnecessary (or even broken) thread-safety The conclusion that it should be replaced at some point, but for the shorter term be hidden and only used as an internal implementation.
The best way to do that in light of its existing exposure is to deprecate it and provide a new alternative wrapper that will eventually supersede it. -----Original Message----- From: Nick Burch [mailto:[email protected]] Sent: Tuesday, August 5, 2014 12:09 To: POI Developers List Subject: RE: Performance issues related to XMLBeans On Tue, 5 Aug 2014, Yaniv Kunda wrote: > I'll try to have some patches out soon. I'd suggest you pick one or two places only, pick a few documents of varying size complexity, and post average performance before and after. No point updating the code if it doesn't actually help much! > In regards to XMLBeans replacement, I naturally prefer to use JAXB > which does not require any additional libraries - Unless it poses some > limitations on what POI needs. We have the XMLBeans objects leaking through the API in various places, and a whole bunch of our users needing that to do what they do. Much as I'd love all of those people to instead submit a patch to POI which wraps that functionality up in a nice usermodel interface with the xml handling stuff hidden inside, I just can't see most of them bothering. Unless we could get JAXB to be binary compatible with XMLBeans, I can't see us being able to switch it because it'd just break too much downstream Thanks Nick --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
