Return-Path: Delivered-To: apmail-incubator-oscar-dev-archive@www.apache.org Received: (qmail 66687 invoked from network); 28 Sep 2005 09:38:49 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 28 Sep 2005 09:38:49 -0000 Received: (qmail 17057 invoked by uid 500); 28 Sep 2005 09:38:48 -0000 Delivered-To: apmail-incubator-oscar-dev-archive@incubator.apache.org Received: (qmail 16943 invoked by uid 500); 28 Sep 2005 09:38:48 -0000 Mailing-List: contact oscar-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: oscar-dev@incubator.apache.org Delivered-To: mailing list oscar-dev@incubator.apache.org Received: (qmail 16930 invoked by uid 99); 28 Sep 2005 09:38:48 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 28 Sep 2005 02:38:48 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_HELO_PASS X-Spam-Check-By: apache.org Received-SPF: neutral (asf.osuosl.org: local policy) Received: from [129.88.30.1] (HELO imag.imag.fr) (129.88.30.1) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 28 Sep 2005 02:38:53 -0700 Received: from [129.88.103.2] (invite2.imag.fr [129.88.103.2]) by imag.imag.fr (8.13.0/8.13.0) with ESMTP id j8S9cLeO006742 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO) for ; Wed, 28 Sep 2005 11:38:22 +0200 (CEST) Message-ID: <433A6494.1070801@ungoverned.org> Date: Wed, 28 Sep 2005 05:38:28 -0400 From: "Richard S. Hall" User-Agent: Mozilla Thunderbird 1.0.6-1.1.fc4 (X11/20050720) X-Accept-Language: en-us, en MIME-Version: 1.0 To: oscar-dev@incubator.apache.org Subject: Re: Running Felix in a servlet engine References: <433A4BC1.8010203@ungoverned.org> <433A5796.1010105@odoko.co.uk> In-Reply-To: <433A5796.1010105@odoko.co.uk> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-1.6 (imag.imag.fr [129.88.30.1]); Wed, 28 Sep 2005 11:38:23 +0200 (CEST) X-IMAG-MailScanner: Found to be clean X-IMAG-MailScanner-Information: Please contact the ISP for more information X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Upayavira wrote: > But it sounds like you don't have a solution to the 'OSGi in a > servlet' problem, where the servlet container registers URLHandlers. > It is such a small issue in the greater scheme of things, but given > that Cocoon's entire user base is using Cocoon as a servlet right now, > we need to continue to offer Cocoon in that environment. Have you any > suggestions as to how we can move forward with this - ways we can ease > the problem? E.g. by banning Cocoon based OSGi apps from using the > URLHandler service? (which would be a shame, as we have a similar > notion, the SourceResolver, which would be nice to port over to > URLHandler). Or any other suggestions? The issue we have is the fact that the stream and content factories are singletons, thus only one entity can be in control of them at a time. Period. I am not saying that Felix should be this entity, but my current design makes Felix this entity since it makes sense coming from a Felix perspective. One way or the other we have to create a single entity that sets itself as the appropriate factory and allows for extensibility by 3rd parties. This was the goal behind URL Handlers from the OSGi spec. My current thinking just tries to extend URL Handlers so that it will also account for the fact that there may be multiple instances of the framework in memory at the same time. Nothing prevents us from trying to create something that is more generic, where the assumption is that we just have multiple clients (some may be OSGi frameworks, some may be app servers, etc.). Of course, this may get much more complicated, too. One thing is certain, though, is that we cannot come up with a solution that will work for legacy apps that assume that they are the ones to call the "set factory" method; code will have to be modified to use whatever solution we come up with. I would still like to try to solve this issue for multiple instances of the OSGi framework before solving it in general; however, if everyone feels that we must come up with a general solution then we can try to discuss it. -> richard