Ajith, I'd like to suggest a small change for your proposal.
> Hi All,
> There have been some talk about performance improvements for Axis2
> next steps. So here is a small proposal of how to do a possible
> optimization with AXIOM and ADB.
>
> 1. AXIOM needs to have an interface that allows a XMLStreamWriter to
> passed. This allows the implementer (of the interface) to have code
> that directly uses the writer. (Currently the OMDataSource has the
> necessary methods. We actually need only one, the write method).
>
> 2. We have a special OMElement abstract class that implements the
> OMDataSource that has a constructor taking in an ADBBean.
OMDataSource having dependency on ADBBean? I think u didn't mean it :).
Let me re-phrase this. Ajith, please confirm if you agree.
There will be a new OMElement implementation (say,
ObjectWrappingOMElement) which extends from OMElement. It will have a
constructor to get an instance of OMObjectWrapper.
public interface OMObjectWrapper(){
public XMLStreamReader getPullParser();
public void writeYourSelf(XMLStreamWriter);
}
public class OMObjectWrappingElement extends OMElement{
public OMObjectWrappingElement(OMObjectWrapper wrapper){
}
public void serializeWithConsume(XMLStreamWriter writer){
wrapper.writeYourSelf(writer)
}
}
And perhaps implement the OMObjectWrapper interface to ADBBean so that
ADBBean can be directly input to the constructor of the
OMObjectWrappingElement.
signature.asc
Description: OpenPGP digital signature
