This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/master by this push:
new 323b2ee CAMEL-14589: camel-cxf - Service beans can only be set via
context. Thanks to Jens Kleine-Herzbruch for the patch.
323b2ee is described below
commit 323b2ee622614fd34488ba74ec63a03b049c03b2
Author: Claus Ibsen <[email protected]>
AuthorDate: Thu Feb 20 06:34:54 2020 +0100
CAMEL-14589: camel-cxf - Service beans can only be set via context. Thanks
to Jens Kleine-Herzbruch for the patch.
---
.../camel/component/cxf/jaxrs/CxfRsEndpoint.java | 25 ++++++++++++++++------
1 file changed, 18 insertions(+), 7 deletions(-)
diff --git
a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java
b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java
index 01ac3d6..52987dc 100644
---
a/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java
+++
b/components/camel-cxf/src/main/java/org/apache/camel/component/cxf/jaxrs/CxfRsEndpoint.java
@@ -84,8 +84,9 @@ public class CxfRsEndpoint extends DefaultEndpoint implements
HeaderFilterStrate
private String address;
@UriParam
private List<Class<?>> resourceClasses;
- @UriParam(label = "consumer,advanced")
- private String serviceBeans;
+ @UriParam(label = "consumer,advanced", javaType = "java.lang.String")
+ private List<Object> serviceBeans = new LinkedList<>();
+ private String serviceBeansRef;
@UriParam
private String modelRef;
@UriParam(label = "consumer", defaultValue = "Default")
@@ -248,10 +249,12 @@ public class CxfRsEndpoint extends DefaultEndpoint
implements HeaderFilterStrate
if (getResourceClasses() != null) {
sfb.setResourceClasses(getResourceClasses());
}
- if (serviceBeans != null) {
- List<Object> beans =
EndpointHelper.resolveReferenceListParameter(getCamelContext(), serviceBeans,
Object.class);
- sfb.setServiceBeans(beans);
+
+ List<Object> beans = new ArrayList<>(serviceBeans);
+ if (serviceBeansRef != null) {
+
beans.addAll(EndpointHelper.resolveReferenceListParameter(getCamelContext(),
serviceBeansRef, Object.class));
}
+ sfb.setServiceBeans(beans);
// setup the resource providers for interfaces
List<ClassResourceInfo> cris =
sfb.getServiceFactory().getClassResourceInfo();
@@ -438,7 +441,7 @@ public class CxfRsEndpoint extends DefaultEndpoint
implements HeaderFilterStrate
setResourceClasses(Arrays.asList(classes));
}
- public String getServiceBeans() {
+ public List<?> getServiceBeans() {
return serviceBeans;
}
@@ -447,7 +450,15 @@ public class CxfRsEndpoint extends DefaultEndpoint
implements HeaderFilterStrate
* Multiple beans can be separated by comma
*/
public void setServiceBeans(String beans) {
- this.serviceBeans = beans;
+ this.serviceBeansRef = beans;
+ }
+
+ public void setServiceBeans(List<?> beans) {
+ this.serviceBeans.addAll(beans);
+ }
+
+ public void setServiceBean(Object bean) {
+ this.serviceBeans.add(bean);
}
/**