[ https://issues.apache.org/jira/browse/FELIX-3576?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13477812#comment-13477812 ]
Anthony Bargnesi edited comment on FELIX-3576 at 10/17/12 12:23 PM: -------------------------------------------------------------------- A similar issue is still occurring. If I define a component with a constructor that takes another required component and a BundleContext then I receive the following stacktrace: [2012-10-16 16:11:11.886] ERROR iLogServiceListener@65284069 org.osgi.service.log.LogService Bundle person.impl_0.1.0, [ERROR] person.impl.DefaultPersonService : null java.lang.NullPointerException: null at org.apache.felix.ipojo.InstanceManager.handleBCInjections(InstanceManager.java:253) at org.apache.felix.ipojo.InstanceManager.configure(InstanceManager.java:207) at org.apache.felix.ipojo.ComponentFactory.createInstance(ComponentFactory.java:178) at org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:310) at org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:239) at org.apache.felix.ipojo.InstanceCreator$ManagedInstance.create(InstanceCreator.java:355) at org.apache.felix.ipojo.InstanceCreator.addInstance(InstanceCreator.java:89) at org.apache.felix.ipojo.Extender.parse(Extender.java:306) at org.apache.felix.ipojo.Extender.startManagementFor(Extender.java:237) at org.apache.felix.ipojo.Extender.access$600(Extender.java:52) at org.apache.felix.ipojo.Extender$CreatorThread.run(Extender.java:769) at java.lang.Thread.run(Thread.java: An example component definition that reveals this issue is: @Component @Provides @Instantiate public class DefaultUserService implements UserService { ... } @Component @Provides @Instantiate public class DefaultPersonService extends ObjectService implements PersonService { private final BundleContext ctx; public DefaultPersonService(BundleContext ctx, @Requires(nullable = false, proxy = false) UserService userService) { super(userService); this.ctx = ctx; } } was (Author: abargnesi): A similar issue is still occurring. If I define a component with a constructor that takes another required component and a BundleContext then I receive the following stacktrace: {code:title=Bar.java|borderStyle=solid} [2012-10-16 16:11:11.886] ERROR iLogServiceListener@65284069 org.osgi.service.log.LogService Bundle person.impl_0.1.0, [ERROR] person.impl.DefaultPersonService : null java.lang.NullPointerException: null at org.apache.felix.ipojo.InstanceManager.handleBCInjections(InstanceManager.java:253) at org.apache.felix.ipojo.InstanceManager.configure(InstanceManager.java:207) at org.apache.felix.ipojo.ComponentFactory.createInstance(ComponentFactory.java:178) at org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:310) at org.apache.felix.ipojo.IPojoFactory.createComponentInstance(IPojoFactory.java:239) at org.apache.felix.ipojo.InstanceCreator$ManagedInstance.create(InstanceCreator.java:355) at org.apache.felix.ipojo.InstanceCreator.addInstance(InstanceCreator.java:89) at org.apache.felix.ipojo.Extender.parse(Extender.java:306) at org.apache.felix.ipojo.Extender.startManagementFor(Extender.java:237) at org.apache.felix.ipojo.Extender.access$600(Extender.java:52) at org.apache.felix.ipojo.Extender$CreatorThread.run(Extender.java:769) at java.lang.Thread.run(Thread.java: {code} An example component definition that reveals this issue is: {code:title=Bar.java|borderStyle=solid} @Component @Provides @Instantiate public class DefaultUserService implements UserService { ... } @Component @Provides @Instantiate public class DefaultPersonService extends ObjectService implements PersonService { private final BundleContext ctx; public DefaultPersonService(BundleContext ctx, @Requires(nullable = false, proxy = false) UserService userService) { super(userService); this.ctx = ctx; } } {code} > iPOJO fails when using constructor injection and expecting BundleContext in > ctor > -------------------------------------------------------------------------------- > > Key: FELIX-3576 > URL: https://issues.apache.org/jira/browse/FELIX-3576 > Project: Felix > Issue Type: Bug > Components: iPOJO > Affects Versions: ipojo-core-1.8.2 > Reporter: Daan de Wit > Assignee: Göktürk Gezer > Fix For: ipojo-core-1.8.4 > > > When using constructor inject, and also expecting BundleContext to be passed > into the constructor, iPOJO gives and error: The constructor parameter 0 is > not managed > The constructor is defined as something like this: > public Constructor(BundleContext context, @Requires(id="my-id") Dependency1 > dep) { /* ... */ } -- 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