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 <claus.ib...@gmail.com> 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); } /**