[
https://issues.apache.org/jira/browse/CAMEL-6130?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13594925#comment-13594925
]
Claus Ibsen commented on CAMEL-6130:
------------------------------------
Yeah in light of the best practice in OSGi to register a service by its
interface, and assuming the endpoint options will be using the interface as its
type as well. So there is a 1:1 match. Then it makes sense to use the setter
type in the lookup.
If there is a type hierachy from the setter type, we could walk up the tree
(and select the interfacaes), and do re-lookup, if we could not find a match.
Though this may be overkill?
> EndpointHelper.setReferenceProperties() does not work with OSGiServiceRegistry
> ------------------------------------------------------------------------------
>
> Key: CAMEL-6130
> URL: https://issues.apache.org/jira/browse/CAMEL-6130
> Project: Camel
> Issue Type: Bug
> Components: osgi
> Affects Versions: 2.9.5, 2.10.4
> Reporter: Aaron Whiteside
> Priority: Critical
> Fix For: 2.9.7, 2.10.5, 2.11.0
>
> Attachments: CAMEL-6130.patch
>
>
> EndpointHelper.setReferenceProperties() does not work with OSGiServiceRegistry
> setReferenceProperties() is hard-coded to lookup services of type
> Object.class.
> It should use reflection to determine the type that the setter method accepts
> and then use that type to lookup the reference in the service registry.
> At the moment this issue is stopping #bean references in Endpoints from being
> resolved when using an OSGiServiceRegistry, in OSGi you need to know the
> class of the service you want before hand.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira