[jira] Commented: (AXIS2-4603) JAX-WS: JAXB Unmarshal code no longer has direct access to the required XMLStreamReader

2010-01-16 Thread Amila Chinthaka Suriarachchi (JIRA)

[ 
https://issues.apache.org/jira/browse/AXIS2-4603?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12801306#action_12801306
 ] 

Amila Chinthaka Suriarachchi commented on AXIS2-4603:
-

Please have a look at scenario 3 here[1].

Both adb and jaxbri data-bindings access the XMLStreamReader using the standard 
 getXMLStreamReaderWithoutCaching method. Further I have done some tests and 
found out that CXF jaxb implementation performance lies in between adb and 
jaxbri.

So I think main performance bottle neck for JAXB in some where else.


[1] http://isurues.wordpress.com/2009/10/05/apache-axis2-performance-results/ 

 JAX-WS: JAXB Unmarshal code no longer has direct access to the required 
 XMLStreamReader
 ---

 Key: AXIS2-4603
 URL: https://issues.apache.org/jira/browse/AXIS2-4603
 Project: Axis2
  Issue Type: Bug
  Components: jaxws
Reporter: Rich Scheuerle
Assignee: Rich Scheuerle
   Original Estimate: 120h
  Remaining Estimate: 120h

 Background:
 The JAX-WS programming model uses JAX-B objects as the representation of user 
 business data.
 The JAX-WS runtime in Axis2 is responsibile for building the JAXBContext and 
 marshaling and umarshaling the JAX-B objects.
 The marshaling and unmarshaling includes marshaling and unmarshaling MTOM 
 data.
 When unmarshaling JAXB, the streaming, non-cached parser (original 
 XMLStreamReader) or cached XMLStreamReader (OMStaXWrapper) is used
 as the input XMLStreamReader for the JAXB unmarshal code.
 Problem:
 The Axiom implementation has been changed such that the non-cached parser is 
 now wrapped by one or more other axiom wrappers or delegates.
 Failure to the access the original steaming parser has resulted in poorer 
 performance in some cases when unmarshaling
 WSCommons-518 now exposes additional methods to access the original 
 non-cached parser.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (AXIS2-4603) JAX-WS: JAXB Unmarshal code no longer has direct access to the required XMLStreamReader

2010-01-15 Thread Andreas Veithen (JIRA)

[ 
https://issues.apache.org/jira/browse/AXIS2-4603?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12800971#action_12800971
 ] 

Andreas Veithen commented on AXIS2-4603:


If you plug an XOPEncodingStreamReader in between the XMLStreamReader you get 
from Axiom and JAXB's unmarshaller (and remove the call to setInlineMTOM), you 
should be able to get this for free without any changes to Axiom. You can then 
use XOPEncodingStreamReader#getDataHandler to get the DataHandlers for the 
xop:Include elements produced by the encoder. In addition this is also more 
robust since it is designed to work correctly regardless of the origin of the 
StAX stream (cached from parser, non-cached from parser, Axiom tree created 
programmatically).

 JAX-WS: JAXB Unmarshal code no longer has direct access to the required 
 XMLStreamReader
 ---

 Key: AXIS2-4603
 URL: https://issues.apache.org/jira/browse/AXIS2-4603
 Project: Axis2
  Issue Type: Bug
  Components: jaxws
Reporter: Rich Scheuerle
Assignee: Rich Scheuerle
   Original Estimate: 120h
  Remaining Estimate: 120h

 Background:
 The JAX-WS programming model uses JAX-B objects as the representation of user 
 business data.
 The JAX-WS runtime in Axis2 is responsibile for building the JAXBContext and 
 marshaling and umarshaling the JAX-B objects.
 The marshaling and unmarshaling includes marshaling and unmarshaling MTOM 
 data.
 When unmarshaling JAXB, the streaming, non-cached parser (original 
 XMLStreamReader) or cached XMLStreamReader (OMStaXWrapper) is used
 as the input XMLStreamReader for the JAXB unmarshal code.
 Problem:
 The Axiom implementation has been changed such that the non-cached parser is 
 now wrapped by one or more other axiom wrappers or delegates.
 Failure to the access the original steaming parser has resulted in poorer 
 performance in some cases when unmarshaling
 WSCommons-518 now exposes additional methods to access the original 
 non-cached parser.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (AXIS2-4603) JAX-WS: JAXB Unmarshal code no longer has direct access to the required XMLStreamReader

2010-01-15 Thread Rich Scheuerle (JIRA)

[ 
https://issues.apache.org/jira/browse/AXIS2-4603?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12800977#action_12800977
 ] 

Rich Scheuerle commented on AXIS2-4603:
---

Thanks for the suggestion, but there are two problems with that approach. 

1) The JAXB Umarshaller works more efficiently if the XMLStreamReader from the 
same vendor is used.  Thus there is a need to access the original parser.

2) Adding an XOPEncodingStreamReader may be one solution for accessing 
DataHandlers...but I believe that it also adds a buffering.

thanks,

Rich

 JAX-WS: JAXB Unmarshal code no longer has direct access to the required 
 XMLStreamReader
 ---

 Key: AXIS2-4603
 URL: https://issues.apache.org/jira/browse/AXIS2-4603
 Project: Axis2
  Issue Type: Bug
  Components: jaxws
Reporter: Rich Scheuerle
Assignee: Rich Scheuerle
   Original Estimate: 120h
  Remaining Estimate: 120h

 Background:
 The JAX-WS programming model uses JAX-B objects as the representation of user 
 business data.
 The JAX-WS runtime in Axis2 is responsibile for building the JAXBContext and 
 marshaling and umarshaling the JAX-B objects.
 The marshaling and unmarshaling includes marshaling and unmarshaling MTOM 
 data.
 When unmarshaling JAXB, the streaming, non-cached parser (original 
 XMLStreamReader) or cached XMLStreamReader (OMStaXWrapper) is used
 as the input XMLStreamReader for the JAXB unmarshal code.
 Problem:
 The Axiom implementation has been changed such that the non-cached parser is 
 now wrapped by one or more other axiom wrappers or delegates.
 Failure to the access the original steaming parser has resulted in poorer 
 performance in some cases when unmarshaling
 WSCommons-518 now exposes additional methods to access the original 
 non-cached parser.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.



[jira] Commented: (AXIS2-4603) JAX-WS: JAXB Unmarshal code no longer has direct access to the required XMLStreamReader

2010-01-15 Thread Andreas Veithen (JIRA)

[ 
https://issues.apache.org/jira/browse/AXIS2-4603?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12801017#action_12801017
 ] 

Andreas Veithen commented on AXIS2-4603:


 1) The JAXB Umarshaller works more efficiently if the XMLStreamReader from 
 the same vendor is used. Thus there is a need to access the original parser. 

I'm not going to ask which vendor we are talking about :-)

More seriously: if I'm not mistaken, even in Axiom 1.2.8 or 1.2.7, there would 
still be at least the OMStAXWrapper between the unmarshaller and the original 
parser. Do I miss something here, or are you also proposing to allow to unwrap 
the OMStAXWrapper?

 2) Adding an XOPEncodingStreamReader may be one solution for accessing 
 DataHandlers...but I believe that it also adds a buffering. 

Nope. It has been specifically designed not to fetch the DataHandler object 
until explicitly requested through XOPEncodingStreamReader#getDataHandler.

 JAX-WS: JAXB Unmarshal code no longer has direct access to the required 
 XMLStreamReader
 ---

 Key: AXIS2-4603
 URL: https://issues.apache.org/jira/browse/AXIS2-4603
 Project: Axis2
  Issue Type: Bug
  Components: jaxws
Reporter: Rich Scheuerle
Assignee: Rich Scheuerle
   Original Estimate: 120h
  Remaining Estimate: 120h

 Background:
 The JAX-WS programming model uses JAX-B objects as the representation of user 
 business data.
 The JAX-WS runtime in Axis2 is responsibile for building the JAXBContext and 
 marshaling and umarshaling the JAX-B objects.
 The marshaling and unmarshaling includes marshaling and unmarshaling MTOM 
 data.
 When unmarshaling JAXB, the streaming, non-cached parser (original 
 XMLStreamReader) or cached XMLStreamReader (OMStaXWrapper) is used
 as the input XMLStreamReader for the JAXB unmarshal code.
 Problem:
 The Axiom implementation has been changed such that the non-cached parser is 
 now wrapped by one or more other axiom wrappers or delegates.
 Failure to the access the original steaming parser has resulted in poorer 
 performance in some cases when unmarshaling
 WSCommons-518 now exposes additional methods to access the original 
 non-cached parser.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.