OK Tom, both Thomas and I did agree that the API quickshot was a mess. I did a revamp the
API, but the concepts we talked about did remain the same.
The SPI now contains
| Endpoint.addBindingCustomization (BindingCustomization)
|
BindingCustomization offers Map like access and will become a generic extension point for
binding implementations and is not specific to any stack or binding framework.
The native stack implements JAXB binding customization:
| /**
| * Supported JAXB 2.1 customizations.
| */
| public class JAXBBindingCustomization extends BindingCustomization {
|
| // Use an alternative RuntimeAnnotationReader implementation
| public final static String ANNOTATION_READER = JAXBRIContext.ANNOTATION_READER;
|
| // Reassign the default namespace URI to something else at the runtime
| public final static String DEFAULT_NAMESPACE_REMAP =
JAXBRIContext.DEFAULT_NAMESPACE_REMAP;
|
| // Enable the c14n marshalling support in the JAXBContext.
| public final static String CANONICALIZATION_SUPPORT =
JAXBRIContext.CANONICALIZATION_SUPPORT;
|
| }
|
It is recognized by the JAXBContextFactory, when set on the SPI Endpoint.
This allows you to supply JAXB customizations at deploy time through an ESB specific
deployment aspect (in JBossWS terms spi.deployment.Deployer).
This particular deployment aspect should recognize ESB deployments and customize the JAXB
marshalling for those endpoints only.
I think this SPI change will stand the test of time and allows us to model future ESB
requirements (i.e. programmatic deployment) as well.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4058783#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...