Hi Am 18.08.2013 um 11:33 schrieb bokie:
> Hi, > > Considering the internals of the SCR, what would be the most appropriate > behaviour for a component's activate, deactivate and modified methods if an > exception occurs: This really depends on how you want your component to behave: > i) add a throws declaration and let the SCR caller handle it or at least be > aware of the exception The DS runtime will catch Exceptions from activate, deactivate, and modified methods and log them. If the activate method throws, the component is actually deactivated again. An exception on the modified method is essentially just logged and further ignored (IIRC). An exception on the deactivate method, of course, is just logged and the component is being deactivated. > ii) catch the exception within a try/catch block, maybe do some logging, but > essentially fail silently where the SCR is concerned. If your component is able to operate even after encountering an exception, this is probably the best thing you can do and which I would in fact recommend: * In your activate method, you can handle any problematic situation during activation. If you can properly handle and still operate, catch and log the problem. Otherwise rethrow and have the component remain deactivated. The drawback of throwing is, that it will only be activated again on bundle restart or if an event such as a reference change or configuration change happens causing the component to be activated again. * In your modified method, I strongly suggest to properly handle exceptions and make sure the component can still operate, e.g. by falling back to some default configuration. If it cannot, I suggest to deactivate the component through the component's ComponentContext. * In your deactivate method, I suggest to catch and log problems just for your own sanity and for reasons of defensive programming such as proper cleanup if needed (e.g. closing files, etc) Hope this helps. Regards Felix > > Regards, > Jorge > > > > > -- > View this message in context: > http://apache-felix.18485.x6.nabble.com/DS-and-Exceptions-tp5004599.html > Sent from the Apache Felix - Users mailing list archive at Nabble.com. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]

