mcconnell 2002/08/17 18:06:30 Modified: src/java/org/apache/avalon/cornerstone/blocks/threads DefaultThreadManager.java Log: While attempted to build James based on the current Avalon CVS of Cornerstone and I'm experiencing a ClassCastException. The James implementation is referencing DefaultThreadManager as a Component, however, the "implements Component" clause has been removed from the defintion without modification of any versioning information breaking backward compatibility with the James implementation. The solution is to re-include the Component interface into the implements statement which has no side-effects and will not impact any other usage of this class. If someone has an objectition to this, please feel free to post a detailed explination to the Avalon Dev list. A stack trace demonstrating the issue is included below: [ERROR ] (root.james): Container disposal triggered by abnormal condition. org.apache.excalibur.merlin.container.ContainerException: Unexpected error during container execution. at org.apache.excalibur.merlin.container.DefaultContainer.run(Unknown Source) at java.lang.Thread.run(Thread.java:536) Caused by: org.apache.excalibur.merlin.resource.LifecycleException: Component named "/root/james/spool" failed to pass through the Composing stage. (Reason: org.apache.avalon.framework.component.ComponentException: Service provider returned a non-Component: class org.apache.avalon.cornerstone.blocks.threads.DefaultThreadManager). at org.apache.excalibur.merlin.resource.LifecycleHelper.fail(Unknown Source) at org.apache.excalibur.merlin.resource.LifecycleHelper.startup(Unknown Source) at org.apache.excalibur.merlin.resource.AbstractLifestyleHandler.createInstance(Unknown Source) at org.apache.excalibur.merlin.resource.SingletonLifestyleHandler.get(Unknown Source) Revision Changes Path 1.16 +3 -1 jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/threads/DefaultThreadManager.java Index: DefaultThreadManager.java =================================================================== RCS file: /home/cvs/jakarta-avalon-cornerstone/src/java/org/apache/avalon/cornerstone/blocks/threads/DefaultThreadManager.java,v retrieving revision 1.15 retrieving revision 1.16 diff -u -r1.15 -r1.16 --- DefaultThreadManager.java 17 Aug 2002 02:24:25 -0000 1.15 +++ DefaultThreadManager.java 18 Aug 2002 01:06:30 -0000 1.16 @@ -12,6 +12,7 @@ import org.apache.excalibur.threadcontext.ThreadContext; import org.apache.avalon.excalibur.thread.ThreadPool; import org.apache.avalon.excalibur.thread.impl.DefaultThreadPool; +import org.apache.avalon.framework.component.Component; import org.apache.avalon.framework.configuration.Configurable; import org.apache.avalon.framework.configuration.Configuration; import org.apache.avalon.framework.configuration.ConfigurationException; @@ -23,11 +24,12 @@ * @phoenix:block * @phoenix:service name="org.apache.avalon.cornerstone.services.threads.ThreadManager" * + * @author <a href="mailto:[EMAIL PROTECTED]">Stephen McConnell</a> * @author <a href="mailto:peter at apache.org">Peter Donald</a> */ public class DefaultThreadManager extends AbstractLogEnabled - implements ThreadManager, Configurable + implements ThreadManager, Configurable, Component { ///Map of thread pools for application private HashMap m_threadPools = new HashMap();
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>