Hi,

I am using Declarative Services in Apache Karaf 4.1.3. I notice that in all
@Component using @Reference with policy DYNAMIC on attributes cause
Component deactivate on service changes. This is an example:

@Component(immediate = true)
public class Test3 {

        private static final Logger logger = 
LoggerFactory.getLogger(Test3.class);

        private GreetService greetService;

        @Activate
        public void activate(BundleContext bundleContext) {
                logger.info("activate() - IN - input: bundleContext = [{}]",
bundleContext);
                logger.info("activate() - OUT");
        }       

        @Deactivate
        public void deactivate() {
                logger.info("deactivate() - IN");
                logger.info("deactivate() - OUT");
        }

        // ----------------------------- greet service
--------------------------------- //
        @Reference(policy = ReferencePolicy.DYNAMIC, policyOption =
ReferencePolicyOption.GREEDY)
        public void setGreetService(GreetService greetService) {
                logger.info("setGreetService() - NOTIFY - msg: greetService = 
[{}]",
greetService);
                this.greetService = greetService;
        }

        public void unsetGreetService(GreetService greetService) {
                logger.info("unsetGreetService() - NOTIFY - msg: greetService = 
[{}]",
greetService);
        }

        public GreetService getGreetService() {
                return greetService;
        }

}

When I deactivate GreetService I'd like to unset it in method
unsetGreetService() without DISABLE the entire component calling
deactivate() method. Is this possible? I am able to obtain this behaviour
only with @Reference properties  DYNAMIC and MULTIPLE. Thanks for help.

Marco



--
Sent from: 
http://apache-felix.18485.x6.nabble.com/Apache-Felix-Users-f4833200.html

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@felix.apache.org
For additional commands, e-mail: users-h...@felix.apache.org

Reply via email to