I changed the initialization of m_newInstance and m_dispose to be in the constructor.
java.lang.reflect.InvocationTargetException: java.lang.NullPointerException at org.apache.excalibur.fortress.handler.ComponentFactory.getInstrumentableName(ComponentFactory.java:212) at org.apache.excalibur.fortress.handler.ComponentFactory.<init>(ComponentFactory.java:93) at org.apache.excalibur.fortress.handler.ThreadSafeComponentHandler.<init>(ThreadSafeComponentHandler.java:54) I also fixed ContextManager to build a RoleManager from config or URI. Please double-check that. -pete -- peter royal -> [EMAIL PROTECTED]
Index: src/java/org/apache/excalibur/fortress/handler/ComponentFactory.java =================================================================== RCS file: /home/cvspublic/jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/handler/ComponentFactory.java,v retrieving revision 1.9 diff -u -r1.9 ComponentFactory.java --- src/java/org/apache/excalibur/fortress/handler/ComponentFactory.java 13 Apr 2002 01:39:56 -0000 1.9 +++ src/java/org/apache/excalibur/fortress/handler/ComponentFactory.java 18 Apr 2002 03:35:34 -0000 @@ -39,12 +39,8 @@ public class ComponentFactory implements ObjectFactory, ThreadSafe, Instrumentable { - private CounterInstrument m_newInstance = new CounterInstrument( - "Create " + getInstrumentableName() - ); - private CounterInstrument m_dispose = new CounterInstrument( - "Destroy " + getInstrumentableName() - ); + private CounterInstrument m_newInstance; + private CounterInstrument m_dispose; /** The class which this <code>ComponentFactory</code> * should create. @@ -98,6 +94,9 @@ m_roles = roles; m_logManager = logkit; m_logger = m_logManager.getLoggerForCategory( "system.factory" ); + + m_newInstance = new CounterInstrument( "Create " + getInstrumentableName() ); + m_dispose = new CounterInstrument( "Destroy " + getInstrumentableName() ); } public Object newInstance() Index: src/java/org/apache/excalibur/fortress/util/ContextManager.java =================================================================== RCS file: /home/cvspublic/jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/util/ContextManager.java,v retrieving revision 1.15 diff -u -r1.15 ContextManager.java --- src/java/org/apache/excalibur/fortress/util/ContextManager.java 13 Apr 2002 01:39:57 -0000 1.15 +++ src/java/org/apache/excalibur/fortress/util/ContextManager.java 18 Apr 2002 03:35:35 -0000 @@ -345,29 +345,35 @@ { } - // Attempt to load config... - //if (config == null) - //{ + Configuration config = getConfiguration(ROLE_MANAGER_CONFIGURATION, ROLE_MANAGER_CONFIGURATION_URI); - // See if we can inherit from the parent... - try + if (config == null) { - childContext.get( ROLE_MANAGER ); + // See if we can inherit from the parent... + try + { + childContext.get( ROLE_MANAGER ); - // OK, done. - return; - } - catch( ContextException ce ) - { - // No RoleManager available anywhere. (Set one up.) + // OK, done. + return; + } + catch( ContextException ce ) + { + // No RoleManager available anywhere. (Set one up.) + + RoleManager rm = new ExcaliburRoleManager(); + + assumeOwnership( rm ); + childContext.put( ROLE_MANAGER, rm ); + + return; + } } - //} - // - // TODO: Load configuration from ROLE_MANAGER_CONFIGURATION or ROLE_MANAGER_CONFIGURATION_URI - // and create a proper RM from those (ERM?). /LS - // - RoleManager rm = new ExcaliburRoleManager(); + ConfigurableRoleManager rm = new ConfigurableRoleManager(new ExcaliburRoleManager()); + + rm.configure(config); + assumeOwnership( rm ); childContext.put( ROLE_MANAGER, rm ); }
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>