You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@aries.apache.org by "Simon Gormley (JIRA)" <ji...@apache.org> on 2013/05/09 17:55:16 UTC

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

Simon Gormley created ARIES-1065:
------------------------------------

             Summary: 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


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 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