I'm using iPOJO 1.8.6 in Karaf 2.3.1 on Felix. I have an existing mechanism for notifications using iPOJO. Basically my notification service (that uses iPOJO) uses all registered notifier providers as follows:
* @Requires(optional = false, nullable = false)* * private INotificationProvider[] mProviders;* Whenever I need to create a notification, it will be handled by all registered notifier. E g I have a notification provider that logs the problem in a log file and another that publishes the notification in Windows event log. So far I have published my notification providers using iPOJO as well (the notification service also uses iPOJO). I now have a notification provider that publishes its service using Aries Blueprint, as follows: *<?xml version="1.0" encoding="UTF-8"?>* *<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:xsi=" http://www.w3.org/2001/XMLSchema-instance"* * xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0" xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0"* * default-activation="eager">* * * * <bean id="notifierService" class="myPackage1.MyNotifierService" />* * * * <service ref="notifierService" interface="myPackage2.INotificationProvider"/>* *</blueprint>* I've replaced my true package names above but "myPackage2" is the package where the INotificationProvider interface resides. For some reason my notification service does not pick up the service published via Blueprint which means that my new notification provider is being skipped. I thought for a while that it is the default "lazy" activation strategy that plays tricks on me which is why I use "eager" instead but it doesn't help. I thought it shouldn't matter in what way I publish an OSGi service, iPOJO should still pick it up. Does anyone know what I could be doing wrong? /Bengt

