You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@felix.apache.org by "Clement Escoffier (Assigned) (JIRA)" <ji...@apache.org> on 2011/10/19 17:07:10 UTC

[jira] [Assigned] (FELIX-3172) Error when calling BundleContext.register(Class, Object, Dictionary)

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

Clement Escoffier reassigned FELIX-3172:
----------------------------------------

    Assignee: Clement Escoffier
    
> Error when calling BundleContext.register(Class, Object, Dictionary)
> --------------------------------------------------------------------
>
>                 Key: FELIX-3172
>                 URL: https://issues.apache.org/jira/browse/FELIX-3172
>             Project: Felix
>          Issue Type: Bug
>          Components: iPOJO
>    Affects Versions: iPOJO-1.8.0
>         Environment: Java 1.6, Apache Felix 4.0.1
>            Reporter: François Fornaciari
>            Assignee: Clement Escoffier
>
> I have an error when I try to call the simple BundleContext.register(Class, Object, Dictionary) method (note the type of the first argument).
> It seems that the new signature of the BundleContext.register() method is not recognised by the IPojoContext.
> This simple example reproduces the issue:
> @Component
> @Instantiate
> public class Test{
> 	
> 	public Test(BundleContext bundleContext) {
> 		bundleContext.registerService(String.class, "test", null);
> 	}
> }
> With the following trace:
> g! [ERROR]  : [com.fornacif.osgi.manager.internal.Manager-0] createInstance -> Cannot invoke the constructor method - the constructor throws an except
> ion : org.apache.felix.ipojo.IPojoContext.registerService(Ljava/lang/Class;Ljava/lang/Object;Ljava/util/Dictionary;)Lorg/osgi/framework/ServiceRegistr
> ation;
> java.lang.AbstractMethodError: org.apache.felix.ipojo.IPojoContext.registerService(Ljava/lang/Class;Ljava/lang/Object;Ljava/util/Dictionary;)Lorg/osgi
> /framework/ServiceRegistration;
>         at com.fornacif.osgi.manager.internal.Manager.<init>(Manager.java:12)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>         at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
>         at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
>         at java.lang.reflect.Constructor.newInstance(Unknown Source)
>         at org.apache.felix.ipojo.InstanceManager.createObject(InstanceManager.java:656)
>         at org.apache.felix.ipojo.InstanceManager.getPojoObject(InstanceManager.java:844)
>         at org.apache.felix.ipojo.handlers.lifecycle.callback.LifecycleCallbackHandler.__stateChanged(LifecycleCallbackHandler.java:156)
>         at org.apache.felix.ipojo.handlers.lifecycle.callback.LifecycleCallbackHandler.stateChanged(LifecycleCallbackHandler.java)
>         at org.apache.felix.ipojo.InstanceManager.setState(InstanceManager.java:471)
>         at org.apache.felix.ipojo.InstanceManager.start(InstanceManager.java:353)
>         at org.apache.felix.ipojo.ComponentFactory.createInstance(ComponentFactory.java:166)
>         at org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:301)
>         at org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:238)
>         at org.apache.felix.ipojo.InstanceCreator$ManagedInstance.create(InstanceCreator.java:343)
>         at org.apache.felix.ipojo.InstanceCreator.addInstance(InstanceCreator.java:89)
>         at org.apache.felix.ipojo.Extender.parse(Extender.java:269)
>         at org.apache.felix.ipojo.Extender.startManagementFor(Extender.java:208)
>         at org.apache.felix.ipojo.Extender.access$600(Extender.java:52)
>         at org.apache.felix.ipojo.Extender$CreatorThread.run(Extender.java:682)
>         at java.lang.Thread.run(Unknown Source)
> [ERROR] com.fornacif.osgi.manager.internal.Manager : Cannot create a POJO instance, the POJO constructor has thrown an exception: org.apache.felix.ipo
> jo.IPojoContext.registerService(Ljava/lang/Class;Ljava/lang/Object;Ljava/util/Dictionary;)Lorg/osgi/framework/ServiceRegistration;
> java.lang.RuntimeException: Cannot create a POJO instance, the POJO constructor has thrown an exception: org.apache.felix.ipojo.IPojoContext.registerS
> ervice(Ljava/lang/Class;Ljava/lang/Object;Ljava/util/Dictionary;)Lorg/osgi/framework/ServiceRegistration;
>         at org.apache.felix.ipojo.InstanceManager.createObject(InstanceManager.java:696)
>         at org.apache.felix.ipojo.InstanceManager.getPojoObject(InstanceManager.java:844)
>         at org.apache.felix.ipojo.handlers.lifecycle.callback.LifecycleCallbackHandler.__stateChanged(LifecycleCallbackHandler.java:156)
>         at org.apache.felix.ipojo.handlers.lifecycle.callback.LifecycleCallbackHandler.stateChanged(LifecycleCallbackHandler.java)
>         at org.apache.felix.ipojo.InstanceManager.setState(InstanceManager.java:471)
>         at org.apache.felix.ipojo.InstanceManager.start(InstanceManager.java:353)
>         at org.apache.felix.ipojo.ComponentFactory.createInstance(ComponentFactory.java:166)
>         at org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:301)
>         at org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:238)
>         at org.apache.felix.ipojo.InstanceCreator$ManagedInstance.create(InstanceCreator.java:343)
>         at org.apache.felix.ipojo.InstanceCreator.addInstance(InstanceCreator.java:89)
>         at org.apache.felix.ipojo.Extender.parse(Extender.java:269)
>         at org.apache.felix.ipojo.Extender.startManagementFor(Extender.java:208)
>         at org.apache.felix.ipojo.Extender.access$600(Extender.java:52)
>         at org.apache.felix.ipojo.Extender$CreatorThread.run(Extender.java:682)
>         at java.lang.Thread.run(Unknown Source)
> [ERROR] com.fornacif.osgi.manager.internal.Manager : Cannot create a POJO instance, the POJO constructor has thrown an exception: org.apache.felix.ipo
> jo.IPojoContext.registerService(Ljava/lang/Class;Ljava/lang/Object;Ljava/util/Dictionary;)Lorg/osgi/framework/ServiceRegistration;
> [ERROR] iPOJO Instance Creator : A matching factory was found for {component=com.fornacif.osgi.manager.internal.Manager, instance.name=com.fornacif.os
> gi.manager.internal.Manager-0}, but the instantiation failed : The configuration is not correct for the type com.fornacif.osgi.manager.internal.Manage
> r : Cannot create a POJO instance, the POJO constructor has thrown an exception: org.apache.felix.ipojo.IPojoContext.registerService(Ljava/lang/Class;
> Ljava/lang/Object;Ljava/util/Dictionary;)Lorg/osgi/framework/ServiceRegistration;

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira