You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@aries.apache.org by "Jeremy Hughes (JIRA)" <ji...@apache.org> on 2014/09/10 17:38:34 UTC

[jira] [Resolved] (ARIES-1065) Blueprint - ServiceFactory can't be specified as the bean class

     [ https://issues.apache.org/jira/browse/ARIES-1065?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jeremy Hughes resolved ARIES-1065.
----------------------------------
    Resolution: Fixed

Fixed by http://svn.apache.org/viewvc?view=revision&revision=1624034

> Blueprint - ServiceFactory can't be specified as the bean class
> ---------------------------------------------------------------
>
>                 Key: ARIES-1065
>                 URL: https://issues.apache.org/jira/browse/ARIES-1065
>             Project: Aries
>          Issue Type: Bug
>          Components: Blueprint
>            Reporter: Simon Gormley
>         Attachments: ARIES1063-ARIES1065-ServiceFactory-cant-be-specified.patch, blueprint_servicefactory.patch, testcase.zip
>
>
> Specifying a class that implements org.osgi.framework.ServiceFactory as the bean class causes an error indicating that the class does not implement the specified interfaces.
> e.g. a blueprint.xml containing:
> <?xml version="1.0" encoding="UTF-8"?>
> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0">
> 	<bean id="MyServiceImplBean" class="com.code.impl.MyServiceFactory"/>
> 	<service ref="MyServiceImplBean" id="MyServiceImplBeanService" interface="com.code.api.MyServiceInterface"></service>
> </blueprint>
> Where MyServiceFactory implements ServiceFactory and can be used to obtain the actual service class that implements the MyServiceInterface would cause an error indicating that MyServiceFactory does not implement MyServiceInterface (which is true)
> Suggested fix (patch attached) is to ensure for this case that the proxy class indicates it implements the ServiceFactory interface, and then delay validation until after the service is obtained.



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