You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@avalon.apache.org by do...@apache.org on 2002/11/08 01:33:42 UTC
cvs commit: jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/handler AbstractComponentHandler.java FactoryComponentHandler.java PerThreadComponentHandler.java ThreadSafeComponentHandler.java
donaldp 2002/11/07 16:33:42
Modified: fortress/src/java/org/apache/excalibur/fortress/handler
AbstractComponentHandler.java
FactoryComponentHandler.java
PerThreadComponentHandler.java
ThreadSafeComponentHandler.java
Log:
More homogenizing
Revision Changes Path
1.25 +30 -1 jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/handler/AbstractComponentHandler.java
Index: AbstractComponentHandler.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/handler/AbstractComponentHandler.java,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -r1.24 -r1.25
--- AbstractComponentHandler.java 8 Nov 2002 00:24:29 -0000 1.24
+++ AbstractComponentHandler.java 8 Nov 2002 00:33:41 -0000 1.25
@@ -256,12 +256,41 @@
}
/**
+ * Create a new component for handler.
+ *
+ * @return the new component
+ * @throws Exception if unable to create new component
+ */
+ protected Object newComponent()
+ throws Exception
+ {
+ try
+ {
+ return m_factory.newInstance();
+ }
+ catch( final Exception e )
+ {
+ if( m_logger.isErrorEnabled() )
+ {
+ final String message = "Unable to create new instance";
+ m_logger.error( message, e );
+ }
+
+ throw e;
+ }
+ }
+
+ /**
* Dispose of the specified component.
*
* @param component the component
*/
protected void disposeComponent( final Object component )
{
+ if( null == component )
+ {
+ return;
+ }
try
{
m_factory.dispose( component );
1.33 +2 -2 jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/handler/FactoryComponentHandler.java
Index: FactoryComponentHandler.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/handler/FactoryComponentHandler.java,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -r1.32 -r1.33
--- FactoryComponentHandler.java 8 Nov 2002 00:23:18 -0000 1.32
+++ FactoryComponentHandler.java 8 Nov 2002 00:33:41 -0000 1.33
@@ -90,7 +90,7 @@
protected Object doGet()
throws Exception
{
- return m_factory.newInstance();
+ return newComponent();
}
/**
1.36 +8 -17 jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/handler/PerThreadComponentHandler.java
Index: PerThreadComponentHandler.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/handler/PerThreadComponentHandler.java,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -r1.35 -r1.36
--- PerThreadComponentHandler.java 8 Nov 2002 00:24:29 -0000 1.35
+++ PerThreadComponentHandler.java 8 Nov 2002 00:33:41 -0000 1.36
@@ -1,5 +1,4 @@
/*
-
============================================================================
The Apache Software License, Version 1.1
============================================================================
@@ -51,7 +50,6 @@
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.context.Context;
-import org.apache.avalon.framework.logger.Logger;
import org.apache.avalon.framework.service.ServiceManager;
import org.apache.excalibur.fortress.lifecycle.LifecycleExtensionManager;
@@ -84,7 +82,7 @@
{
super( componentClass, config, service, context, extManager, isLazy );
m_logger = m_logkit.getLoggerForCategory( "system.handler.perthread" );
- m_instance = new ThreadLocalComponent( m_factory, m_logger );
+ m_instance = new ThreadLocalComponent( this );
setInstrumentableName( "PerThreadComponentHandler" );
}
@@ -105,35 +103,28 @@
protected void doDispose()
{
- disposeComponent( m_instance );
+ disposeComponent( m_instance.get() );
m_instance = null;
}
private static final class ThreadLocalComponent
extends ThreadLocal
{
- private final ComponentFactory m_factory;
- private final Logger m_logger;
+ private final PerThreadComponentHandler m_handler;
- protected ThreadLocalComponent( ComponentFactory factory, Logger logger )
+ protected ThreadLocalComponent( final PerThreadComponentHandler handler )
{
- m_factory = factory;
- m_logger = logger;
+ m_handler = handler;
}
protected Object initialValue()
{
try
{
- return m_factory.newInstance();
+ return m_handler.newComponent();
}
- catch( Exception e )
+ catch( final Exception e )
{
- if( m_logger.isErrorEnabled() )
- {
- m_logger.error( "Unable to create new thread local instance", e );
- }
-
return null;
}
}
1.35 +2 -3 jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/handler/ThreadSafeComponentHandler.java
Index: ThreadSafeComponentHandler.java
===================================================================
RCS file: /home/cvs/jakarta-avalon-excalibur/fortress/src/java/org/apache/excalibur/fortress/handler/ThreadSafeComponentHandler.java,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -r1.34 -r1.35
--- ThreadSafeComponentHandler.java 8 Nov 2002 00:24:29 -0000 1.34
+++ ThreadSafeComponentHandler.java 8 Nov 2002 00:33:41 -0000 1.35
@@ -50,7 +50,6 @@
package org.apache.excalibur.fortress.handler;
import org.apache.avalon.framework.configuration.Configuration;
-import org.apache.avalon.framework.container.ContainerUtil;
import org.apache.avalon.framework.context.Context;
import org.apache.avalon.framework.service.ServiceManager;
import org.apache.excalibur.fortress.lifecycle.LifecycleExtensionManager;
@@ -93,7 +92,7 @@
protected void doInitialize()
throws Exception
{
- m_instance = m_factory.newInstance();
+ m_instance = newComponent();
}
/**
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>