You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hivemind.apache.org by ji...@apache.org on 2004/06/07 19:24:53 UTC
[jira] Commented: (HIVEMIND-4) Enhance logging of exceptions when setting a service property to a contribution
The following comment has been added to this issue:
Author: Steve Gibson
Created: Mon, 7 Jun 2004 10:24 AM
Body:
Ahhh, yes. Found where the exception is caught...
BuilderFactory.setProperties
try
{
Class targetType = PropertyUtils.getPropertyType(target, propertyName, facet);
Object value = facet.getFacetValue(serviceId, invokingModule, targetType);
HiveMind.setLocation(value, HiveMind.getLocation(facet));
PropertyUtils.write(target, propertyName, value, facet);
}
catch (Exception ex)
{
log.error(ex.getMessage());
}
So, this catches all RuntimeExceptions too, and assumes the exception has a message.
Perhaps this should do a check if ex instanceof RuntimeException and rethrow?
---------------------------------------------------------------------
View this comment:
http://issues.apache.org/jira/browse/HIVEMIND-4?page=comments#action_35942
---------------------------------------------------------------------
View the issue:
http://issues.apache.org/jira/browse/HIVEMIND-4
Here is an overview of the issue:
---------------------------------------------------------------------
Key: HIVEMIND-4
Summary: Enhance logging of exceptions when setting a service property to a contribution
Type: Improvement
Status: Unassigned
Priority: Major
Project: HiveMind
Components:
framework
Versions:
1.0
Assignee:
Reporter: Steve Gibson
Created: Mon, 7 Jun 2004 10:17 AM
Updated: Mon, 7 Jun 2004 10:24 AM
Environment: hivemind-1.0.beta-1-snapshot.jar
Description:
I am guessing the source of the exception for this, so this may be a little vague.
If an exception is thrown due to a bug in the schema definition or a contribution to a configuration point, when a service using the affected configuration point is instantiated, a message of limited usefulness is logged of the form:
ERROR: <module-id>.<service-id> - Unable to update property <property-name> of object <service-impl-class.toString()> (at <module-descriptor-url>, line <line number of set-configuration>): null
To me, that suggests I am getting a NullPointerException somewhere, as I dig through the source and find in PropertyAdaptor:
try
{
_writeMethod.invoke(target, new Object[] { value });
}
catch (Exception ex)
{
throw new ApplicationRuntimeException(
UtilMessages.writeFailure(_propertyName, target, location, ex),
target,
HiveMind.getLocation(location),
ex);
}
with UtilMessages.writeFailure containing:
return HiveMind.format(
"PropertyAdaptor.write-failure",
new Object[] {
propertyName,
target,
HiveMind.getLocationString(location),
cause.getMessage()});
With a NullPointerException, the cause is null, so perhaps a better approach would be:
cause.getMessage()!=null?cause.getMessage():cause
I will attach my test code.
I will also investigate the chain of the ApplicationRuntimeException, though its trace is not being logged.
---------------------------------------------------------------------
JIRA INFORMATION:
This message is automatically generated by JIRA.
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: hivemind-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: hivemind-dev-help@jakarta.apache.org