Hi
On 02/07/14 02:45, iris ding wrote:
Thanks Sergey for your fix for this issue.

But actually I have a question for the fix as it is against spec for support
of subclasses or concrete implementations for DataSource. I have put my
question in https://issues.apache.org/jira/browse/CXF-5835 as well.

I doubt it is against the spec for a default provider to give a best effort and support some of DataSource implementing classes from javax.activation OOB. It would probably be reasonable to throw an exception too but it is probably too harsh given that FileDataSource is the only well-known DataSource implementation that we can support for 'free' given that the spec requires support for File.

Of course, we can say that if a user typed ByteArrayInputStream, then should we copy InputStream into ByteArrayInputStream too based on the fact ByteArrayInputStream is a well known type. But it won't work right now. However we'd support DOMSource even though the spec requires supporting Source only, etc.

The only reason FileDataSource is supported now is that File has to be supported per the spec.

That said I will request a clarification in the spec. My preference would be to have a text added along the lines of "Default Message Body Readers MAY optionally support well-known implementations of interfaces required to be supported by default..."

Note it is the issue only for Message Body Readers, obviously Message Body Writer must support concrete implementations.
The other question is:
In ProviderFactory.initBaseFactory(), CXF will add DataSourceProvider by
default. Is there a way to remove the built-in CXF DataSourceProvider but
using my own one?
The custom providers are always preferred, so just register your custom implementation.

Cheers, Sergey




--
View this message in context: 
http://cxf.547215.n5.nabble.com/two-issues-in-org-apache-cxf-jaxrs-provider-DataSourceProvider-tp5745783p5745869.html
Sent from the cxf-dev mailing list archive at Nabble.com.


Reply via email to