Obvious stupid q: does metro or any other comparative RI take a position?

On Mon, Oct 12, 2009 at 4:38 PM, Daniel Kulp <[email protected]> wrote:

>
> Last week, I mentioned starting some work on getting some streaming support
> for incoming messages for Provider endpoints.   I have this working now for
> Provider<SAXSource> which is cool.    I have also wired in the java 6
> "StAXSource" (when running on Java6 or have a VERY recent xml apis with it
> in
> on the classpath) as well as our own StaxSource (which is a subclass of
> SAXSource which is how the SAXSource now streams) wired in.
>
> The question is, what should be sent in for Provider<Source>?
>
> Previously, we always sent in a DOMSource.   The basic reason was that for
> all
> the Source things, we pretty much had to copy the entire message in anyway
> and
> DOMSource gave us the best performance.    With the new streaming support
> though, it probably makes sense to send in the cxf StaxSource thing.   This
> issue is that that would break existing apps that may expect a DOMSource.
>
> One other thing I've done, I've added a configuration property:
> "source-preferred-format"
> which can be set to:
> "dom" -> DOMSource
> "sax" -> SAXSource  (cxf StaxSource)
> "stream" -> StreamSource
> "cxf.stax" ->  StaxSource
> "stax" -> javax.xml.transform.stax.StAXSource if avail, StaxSource
> otherwise
>
> Thus, the question really is, what should the DEFAULT be if unspecified.
> "dom" for compatibility or "sax" for streaming performance?  For 2.3, I'm
> definitely thinking "sax" and a note added to the migration guide.   Thus,
> the
> question is more for 2.2.5.
>
> I'm kind of interested to hear from users to hear if flipping from dom to
> sax
> would break people.
>
> THAT said, I also have schema-validation working with Provider things
> (which
> is why I was in this area of code to begin with).   In those cases, we
> still
> read to DOM so we can validate without consuming the stream.    With 2.3 we
> COULD use the schema validation stuff built into woodstox 4 and not do the
> DOM
> thing, but for 2.2.x, using DOM is easiest.
>
> Anyway, I'd like to hear peoples thoughts.
>
> --
> Daniel Kulp
> [email protected]
> http://www.dankulp.com/blog
>

Reply via email to