The following comment has been added to this issue:

     Author: Steve Gibson
    Created: Thu, 10 Jun 2004 6:16 AM
       Body:
I guess this boils down to your earlier comments on fail-fast versus fail-soft 
(?).

A runtime exception is thrown because it is not recoverable and the situation 
leaves the system in an unknown state.

It would be nice if it was possible to validate the module descriptor, but to 
me that would mean less flexibility, or a more complicated API when it comes to 
rules, translators, factories, etc.
---------------------------------------------------------------------
View this comment:
  http://issues.apache.org/jira/browse/HIVEMIND-4?page=comments#action_36016

---------------------------------------------------------------------
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: In Progress
   Priority: Major

    Project: HiveMind
 Components: 
             framework
   Versions:
             1.0

   Assignee: Howard M. Lewis Ship
   Reporter: Steve Gibson

    Created: Mon, 7 Jun 2004 10:17 AM
    Updated: Thu, 10 Jun 2004 6:16 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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to