[ 
https://issues.apache.org/jira/browse/CXF-6869?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15306593#comment-15306593
 ] 

Sergey Beryozkin commented on CXF-6869:
---------------------------------------

Hi Vedran

I've started applying some parts of your patch.

First I applied your JaxRsConfig changes as part of another issue:
http://git-wip-us.apache.org/repos/asf/cxf/commit/8e58f887

I did it because it might be a migration issue for some users and as such I 
thought about opening a dedicated issue.
Next I updated the version:
http://git-wip-us.apache.org/repos/asf/cxf/commit/4b0868a8
Finally, the auto-configuration improvements:

http://git-wip-us.apache.org/repos/asf/cxf/commit/3615f209

but I haven't applied  JAX-RS specific changes. Specifically, 
SpringScanComponentServer is imported right now into a demo application in 
jaxrs_spring_boot_scan, and with your JaxRsConfig fixes it all works nice. 

I know you like the idea of JAX-RS resources being auto-discovered OOB :-) but 
I have few concerns, specifically, having the auto-discovery enabled by default 
OOB may cause unexpected side-effects, but also, I wonder, if we really should 
do the frontend specific configurations in a shared autoconfigure module.
For example, I opened a JAX-WS JIRA awhile back for JAX-WS endpoints be 
auto-created too, so once it is done we'd need to add a JAX-WS specific 
support, and then, with the frontend specific features likely to be needed 
provided OOB as well going forward (ex, Swagger vs WADL for RS) we may find it 
difficult to keep a clean enough code. 

Explicitly importing SpringScanComponentServer into a demo application is an 
extra effort compared to it being seamlessly enabled by the virtue of adding a 
JAX-RS starter dependency, but for now I'm feeling it is a reasonable 
compromise. 

I'd like to discuss some options, such as introducing frontend specific 
auto-configure modules. Or revisiting the idea of having only two modules, two 
starters, one for JAX-WS and one for JAX-RS, with starters keeping some 
auto-configuration code ? I appreciate the best practice is to keep the 
starters code-free, but having a single auto-configure module may become 
problematic for us going forward ?

Overall, I feel we already have a nice start as far as integrating with Spring 
Boot is concerned and we can keep tuning it :-)

Thanks, Sergey



> Consider adding Spring Boot starter
> -----------------------------------
>
>                 Key: CXF-6869
>                 URL: https://issues.apache.org/jira/browse/CXF-6869
>             Project: CXF
>          Issue Type: New Feature
>          Components: Integration
>            Reporter: Vedran Pavic
>            Assignee: Sergey Beryozkin
>
> I've recently authored a PR in Spring Boot to add support for 
> auto-configuration of {{CXFServlet}} and default CXF's configuration:
> https://github.com/spring-projects/spring-boot/pull/5659
> The PR was closed with "won't fix" resolution since Boot team are unwilling 
> to add CXF as a dependency to the project. Instead a 3rd party starter was 
> suggested.
> The concept of a 3rd party starter is generally encouraged for technologies 
> that don't have first-class support in projects from Spring portfolio. Such 
> 3rd party starters are listed here:
> https://github.com/spring-projects/spring-boot/blob/master/spring-boot-starters/README.adoc
> If CXF team is interested, I'm willing to port my PR to CXF.
> Note that the original PR was focused around JAX-WS support, but can be 
> easily expanded to include JAX-RS support as well.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to