When evaluating multiple MarshallingMethodEndpointAdapters, each with their own Jaxb2MarshallingEndpoint, the first MarshallingMethodEndpointAdapter::supports method is always true.
We are building a modular application; where each endpoint is packaged as it's own module.
Each of those endpoint modules has it's own MarshallingMethodEndpointAdapter and it's own Jaxb2Marshaller.
This means that when the webapp is packaged and running there will be multiple MarshallingMethodEndpointAdapters available to the MessageDispatcher.
The Jaxb2Marshaller::supports method is implemented to return true for any subclass of Jaxb2Element.
The Jaxb2Marshaller should not even bother with this check, it should only return true if the JaxbContext is capable of supporting the given class.