Once the marshallDocument method is invoked with sysout as the output 
stream, sysouts after that stops working.

       mctx.marshalDocument(objA, "UTF-8", null, System.out);
       System.out.println("objA marshall complete");
       mctx.marshalDocument(objB, "UTF-8", null, System.out);
       System.out.println("objB marshall complete");

Its because the jibx is doing the equivalent of System.out.close() 
somewhere in the code.

On a little analysis:
org.jibx.runtime.impl.MarshallingContext.endDocument() calls the 
m_writer.close(),
which invokes the UTF8StreamWriter.close() .

If the close method in StreamWriterBase is modified as follows then the 
stream are only closed if it is not the sysout stream.

public void close() throws IOException {
       flush();
       if (m_stream != null && m_stream != System.out) {
           m_stream.close();
           m_stream = null;
       }
   }

I have not tested this fix, just enumerating on one of the possible 
solutions.
I have sent the same mail to the dev user group by mistake

regards
Varghese

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
jibx-users mailing list
jibx-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jibx-users

Reply via email to