Can you please submit a "svn diff" against latest SVN in JIRA?

thanks,
dims

On 4/5/06, Toshiro Takase <[EMAIL PROTECTED]> wrote:
> All,
>
> In StAXOMBuilder and MTOMXMLStreamWriter (renamed from OMOutputImpl),
> XML{Input|Output}Factory is created just once now.
> It is great to reuse XMLInputFactory and XMLOutputFactory instance, I
> think.
> But I am not sure whether XMLInputFactory.createXMLStreamReader() and
> XMLOutputFactory.createXMLStreamWiter() have thread safety or not.
> It seems that JSR-173 StAX specification does not mention their thread
> safety.
> IMHO, strictly speaking, these factories can be broken if these methods are
> called concurrently.
> These methods can be enclosed by synchronized block, or a factory instance
> pool or something can be made.
> Any comments?
>
>
> BTW,
> The code, XMLOutputFactory.newInstance().createXMLStreamWriter(output),
> still exists in,,,
> org.apache.axiom.om.impl.llom.OMNodeImpl
> org.apache.axiom.om.impl.dom.NodeImpl
>
> The code, XMLInputFactory.newInstance().createXMLStreamReader(input), still
> exists in,,,
> org.apache.axiom.om.impl.dom.jaxp.DocumentBuilderImpl
> org.apache.axiom.om.xpath.DocumentNavigator
>
> These factory instances seem created in every accesses.
>
> Thanks in advance,
> Toshiro TAKASE
> IBM Research, Tokyo Research Laboratory, Internet Technology
> notes ID: Toshiro Takase/Japan/[EMAIL PROTECTED], e-mail: [EMAIL PROTECTED]
>
> [EMAIL PROTECTED] wrote on 2006/04/02 21:31:47:
>
> > Author: dims
> > Date: Sun Apr  2 05:31:46 2006
> > New Revision: 390816
> >
> > URL: http://svn.apache.org/viewcvs?rev=390816&view=rev
> > Log:
> > create XMLOutputFactory just once
> >
> > Modified:
> >
> >
> webservices/commons/trunk/modules/axiom/src/org/apache/axiom/om/impl/OMOutputImpl.
>
> > java
> >
> > Modified:
> >
> webservices/commons/trunk/modules/axiom/src/org/apache/axiom/om/impl/OMOutputImpl.
>
> > java
> > URL: http://svn.apache.
> >
> org/viewcvs/webservices/commons/trunk/modules/axiom/src/org/apache/axiom/om/impl/OMOutputImpl.
>
> > java?rev=390816&r1=390815&r2=390816&view=diff
> >
> ==============================================================================
>
> > ---
> >
> webservices/commons/trunk/modules/axiom/src/org/apache/axiom/om/impl/OMOutputImpl.
>
> > java (original)
> > +++
> >
> webservices/commons/trunk/modules/axiom/src/org/apache/axiom/om/impl/OMOutputImpl.
>
> > java Sun Apr  2 05:31:46 2006
> > @@ -38,6 +38,7 @@
> >   * also looking at the OM tree whether it has any optimizable content.
> >   */
> >  public class OMOutputImpl {
> > +    private static XMLOutputFactory outputFactory =
> > XMLOutputFactory.newInstance();
> >      private XMLStreamWriter xmlWriter;
> >      private OutputStream outStream;
> >      private LinkedList binaryNodeList = new LinkedList();
> > @@ -65,14 +66,12 @@
> >          if (format.getCharSetEncoding() == null) //Default encoding is
> UTF-8
> >              format.setCharSetEncoding(OMOutputFormat.
> > DEFAULT_CHAR_SET_ENCODING);
> >
> > -        XMLOutputFactory factory = XMLOutputFactory.newInstance();
> > -
> >          if (format.isOptimized()) {
> >              bufferedSOAPBody = new StringWriter();
> > -            xmlWriter = factory.createXMLStreamWriter(bufferedSOAPBody);
> > +            xmlWriter = outputFactory.
> > createXMLStreamWriter(bufferedSOAPBody);
> >          } else {
> >              try {
> > -                xmlWriter = factory.createXMLStreamWriter(new java.
> > io.BufferedWriter(new OutputStreamWriter(outStream,
> > +                xmlWriter = outputFactory.createXMLStreamWriter(new
> > java.io.BufferedWriter(new OutputStreamWriter(outStream,
> >                          format.getCharSetEncoding())));
> >              } catch (UnsupportedEncodingException e) {
> >                  throw new XMLStreamException(e);
> >
> >
>
>


--
Davanum Srinivas : http://wso2.com/blogs/

Reply via email to