[
https://issues.apache.org/jira/browse/CXF-6694?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15041791#comment-15041791
]
Vladimir Kulev commented on CXF-6694:
-------------------------------------
Frontend is JAXRS service, it gets discovered automatically by
{{SpringComponentScanServer}}, you can access it at
http://localhost:8080/api/status
Backend is just a normal bean used to demonstrate idea of not having default
constructor for JAXRS service class in case of Spring.
Another way to do it in Spring (in this case you don't need to write those
@Bean methods):
{code:java}
@Service
@Path("/")
public static class Frontend {
private final Backend backend;
@Autowired
public Frontend(Backend backend) {
this.backend = backend;
}
@Path("/status")
@GET
public String getStatus() {
return backend.getStatus();
}
}
@Service
public static class Backend {
public String getStatus() {
return "Hello, world!";
}
}
{code}
> SpringResourceFactory does not work with constructor-autowired beans
> --------------------------------------------------------------------
>
> Key: CXF-6694
> URL: https://issues.apache.org/jira/browse/CXF-6694
> Project: CXF
> Issue Type: Bug
> Components: JAX-RS
> Affects Versions: 3.1.4
> Reporter: Vladimir Kulev
> Labels: spring
> Attachments: CXF-6694.patch
>
>
> When used with constructor-autowired bean, it fails with "Resource class ...
> has no valid constructor" exception. We don't need constructor at all when we
> already have a singleton instance from Spring.
> Also it looks like {{isSingleton()}} is called for the first time before
> correct value is calculated a few lines below: {{isSingleton =
> ac.isSingleton(beanId)}}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)