Return-Path: Delivered-To: apmail-jakarta-avalon-dev-archive@jakarta.apache.org Received: (qmail 11949 invoked by uid 500); 17 Jul 2001 12:00:54 -0000 Mailing-List: contact avalon-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Reply-To: "Avalon Development" Delivered-To: mailing list avalon-dev@jakarta.apache.org Received: (qmail 11919 invoked from network); 17 Jul 2001 12:00:53 -0000 From: "Leo Sutic" To: "Avalon Developer's List" Subject: [Patch] New Avalon Docs Date: Tue, 17 Jul 2001 14:02:28 +0200 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook IMO, Build 9.0.2416 (9.0.2910.0) Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4522.1200 X-OriginalArrivalTime: 17 Jul 2001 12:01:38.0420 (UTC) FILETIME=[3BDD1340:01C10EB8] X-Spam-Rating: h31.sny.collab.net 1.6.2 0/1000/N Berin, two patches. The first one fixes a logic error in the sample code that would throw an Illegal call exception if the component was successfully initialized, the second removes a repeated occurrence of the suspend method. (It is listed twice). Overall, I can only agree with what others have said: You have done a great job, Berin. One thing I have an issue with is this, however: (framework.xml) "ThreadSafe The contract with ThreadSafe Components is that both their interface and their implementation function correctly no matter how many threads access the Component simultaneously. While this is generally a lofty design goal, sometimes it is simply not possible due to the technologies you are using. A Component that implements this interface will generally only have one instance available in the system, and other Components will use that one instance." (implementing.xml) "org.apache.avalon.framework.thread.Threadsafe Component does not maintain state between method calls," ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ I do not see this as being a necessary part of the contract. This would mean that a component that maintains state can not implements its own locking and mark itself ThreadSafe. " and is fully reentrant. One instance is created and shared with all Composables that request it. Creation and initialization is done when ComponentHolder is created." /LS --- implementing_orig_1.xml Tue Jul 17 13:53:05 2001 +++ jakarta-avalon\src\xdocs\developing\implementing.xml Tue Jul 17 13:52:52 2001 @@ -152,7 +152,7 @@ } public final Document getDocument(Principal requestor, int refId) { - if (initialized || disposed) { + if (!initialized || disposed) { throw new IllegalStateException("Illegal call"); } --- framework_orig_2.xml Tue Jul 17 13:55:05 2001 +++ jakarta-avalon\src\xdocs\developing\framework.xml Tue Jul 17 13:51:05 2001 @@ -233,12 +233,6 @@ - suspend - [Suspendable] - - - - recontextualize [Recontextualizable] --------------------------------------------------------------------- To unsubscribe, e-mail: avalon-dev-unsubscribe@jakarta.apache.org For additional commands, e-mail: avalon-dev-help@jakarta.apache.org