[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
RE: [equinox-dev] DS activation and error logging

This behavior is not against the DS spec. In fact it is not described 
what shall be done in such cases.
I think the current behavior is more appropriate than blacklisting the 
component and never activate it again.
Perhaps there should be a limited number of tries for activation and/or 
timeout for each subsequent activation try. But this seems like a 
feature request. Ideally this should go also as a DS spec update. I will

post an issue to OSGi about that.

I agree that the DS spec is not overly expressive with regard to how
components that fail to instantiate should be treated. If the activate()
method throws an exception it simply says that, "the component
configuration is not activated."

How would you describe the current algorithm for activation retries? Is
it attempting to activate a failed component every time the service
space changes?

What I have seen so far is that the current setup has the possible
behavior of spamming the error log with an exception for every time the
instantiation is retried, having seen one retried 20+ times. I
personally found nothing wrong with the "try once and give up" method,
but if the desire is to have the SCR be more persistent, I agree that
some limitation on these attempts would be good.

The DS spec requires that errors and warnings are logged by SCR via the 
LogService if available. In your configuration it is provided by the 
org.eclipse.equinox.log bundle. If your environment does not have 
LogService then you will not be able to see any errors from SCR.

That is my understanding as well. So I guess what I am wondering is:

Given the set of Equinox bundles I described (including
org.eclipse.equinox.log), I am not seeing a log file produced or an
exception logged when my run configuration contains very few bundles. Is
my component activation exception perhaps winning a race between the SCR
activation process and the SCR's acquiring of a LogService?

Thanks for your help,
THIS MESSAGE IS INTENDED FOR THE USE OF THE PERSON TO WHOM IT IS ADDRESSED. IT MAY CONTAIN INFORMATION THAT IS PRIVILEGED, CONFIDENTIAL AND EXEMPT FROM DISCLOSURE UNDER APPLICABLE LAW. If you are not the intended recipient, your use of this message for any purpose is strictly prohibited. If you have received this communication in error, please delete the message and notify the sender so that we may correct our records.