Return-Path: Delivered-To: apmail-geronimo-dev-archive@www.apache.org Received: (qmail 43966 invoked from network); 25 Mar 2010 00:49:00 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 25 Mar 2010 00:49:00 -0000 Received: (qmail 86461 invoked by uid 500); 25 Mar 2010 00:48:59 -0000 Delivered-To: apmail-geronimo-dev-archive@geronimo.apache.org Received: (qmail 86381 invoked by uid 500); 25 Mar 2010 00:48:59 -0000 Mailing-List: contact dev-help@geronimo.apache.org; run by ezmlm Precedence: bulk list-help: list-unsubscribe: List-Post: Reply-To: dev@geronimo.apache.org List-Id: Delivered-To: mailing list dev@geronimo.apache.org Received: (qmail 86374 invoked by uid 99); 25 Mar 2010 00:48:59 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 25 Mar 2010 00:48:59 +0000 X-ASF-Spam-Status: No, hits=0.2 required=10.0 tests=AWL,FREEMAIL_FROM,HTML_MESSAGE,RCVD_IN_DNSWL_NONE,SPF_PASS,T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of kevan.miller@gmail.com designates 209.85.210.197 as permitted sender) Received: from [209.85.210.197] (HELO mail-yx0-f197.google.com) (209.85.210.197) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 25 Mar 2010 00:48:51 +0000 Received: by yxe35 with SMTP id 35so1641848yxe.26 for ; Wed, 24 Mar 2010 17:48:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:mime-version :content-type:subject:date:in-reply-to:to:references:message-id :x-mailer; bh=TOylsdWZTN+PvN8HVW8i22IQwckPA/uo3sxws9vRYlM=; b=KO9ry90aNkH7EaOjlUXnGJxdF2hmnCuPrsAprd2htp7dARv+cMu2pL4tq0jQ9+cIVC vc1b076BeUPzpCKgTw/l9zPZ6UZAnQrk3Nd9E4oJFMv2tnILhjUe0r2LgzvEIPh/JM3h VZBFP6K5kHVbO/cBaYLcrBbxN7b5KTjVZc/Pg= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:mime-version:content-type:subject:date:in-reply-to:to :references:message-id:x-mailer; b=xeEdVJRvkxqRMxwkxL8ZGH2U+myJqDiwgK8MkzEfIAMGTf23dZGm4B6ymIlvb9XnMF x0IFbZl3zguQcPNpHrDyz3Qj2JEfqmAEU4BpQlD08q4/FM3sKVodpQ+CdzalKg/f07/h Xr1iZyp2jtBVumkic568Jy7FtQNtFt1zbM7l0= Received: by 10.101.108.9 with SMTP id k9mr8326883anm.126.1269478110995; Wed, 24 Mar 2010 17:48:30 -0700 (PDT) Received: from [10.0.1.8] (cpe-076-182-103-070.nc.res.rr.com [76.182.103.70]) by mx.google.com with ESMTPS id 22sm178693yxe.55.2010.03.24.17.48.29 (version=TLSv1/SSLv3 cipher=RC4-MD5); Wed, 24 Mar 2010 17:48:30 -0700 (PDT) From: Kevan Miller Mime-Version: 1.0 (Apple Message framework v1077) Content-Type: multipart/alternative; boundary=Apple-Mail-418--886868715 Subject: Re: shared lib in Geronimo 3.0 Date: Wed, 24 Mar 2010 20:48:27 -0400 In-Reply-To: <606EB8DF-FD79-4DB1-8AE7-97EDB7C22B8E@yahoo.com> To: dev@geronimo.apache.org References: <99d1baac1003240920h28d98d56mdc3e1dd8d351eb63@mail.gmail.com> <99d1baac1003241258n4a62ad50p18ce1de66ef32384@mail.gmail.com> <2B745234-9739-4806-9F5C-197D3B59989D@yahoo.com> <606EB8DF-FD79-4DB1-8AE7-97EDB7C22B8E@yahoo.com> Message-Id: <7254CF4F-E288-4400-987B-D441388A5F37@gmail.com> X-Mailer: Apple Mail (2.1077) --Apple-Mail-418--886868715 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii On Mar 24, 2010, at 5:30 PM, David Jencks wrote: >=20 > While I always thought shared lib was a bad idea, at least pre-osgi = the concept of a classloader that you could just toss things in made = sense. I don't think it makes any sense in osgi. There is no = dynamic-export header so whatever implementation you came up with would = have to know exactly what packages to export... making the idea of = adding more stuff to it useless. If you just make sure your jar is = bundleized so the packages you want to use are exported, and install the = bundle in the osgi framework, the osgi wiring mechanism will take care = of making it available to your app, in a simpler, uniform way that is = much more flexible than shared lib was. >=20 > In other words, plain vanilla osgi all by itself does what shared lib = was for much much better. The only inconvenience is that you have to = make your libraries into bundles somehow. We can certainly talk about = how to help people do that, but that will be generally useful and/or = impossible to do well. Understood. And I'm not claiming that we'd end up with the same runtime = efficiencies of a common shared lib ClassLoader, in previous versions of = Geronimo. However, we're processing WARs and EARs with packaged jar = files. And we'd better be pretty good at that. And we're certainly not = going to require users to convert these jars into bundles. So, is = extending this capability to a sharedlib dirctory (outside of the = archive) such a big stretch? It might not be as runtime efficient as it = could be, but a class of users might well appreciate its simplicity. We also want to be making it easy for users to bundleize jars and = incorporate them into Geronimo. However, I'm not convinced that users = should always be required to bundlize their jars... --kevan --Apple-Mail-418--886868715 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=us-ascii

While I always = thought shared lib was a bad idea, at least pre-osgi the concept of a = classloader that you could just toss things in made sense.  I don't = think it makes any sense in osgi.  There is no dynamic-export = header so whatever implementation you came up with would have to know = exactly what packages to export... making the idea of adding more stuff = to it useless.  If you just make sure your jar is bundleized so the = packages you want to use are exported, and install the bundle in the = osgi framework, the osgi wiring mechanism will take care of making it = available to your app, in a simpler, uniform way that is much more = flexible than shared lib was.

In other words, plain vanilla osgi = all by itself does what shared lib was for much much better.  The = only inconvenience is that you have to make your libraries into bundles = somehow.  We can certainly talk about how to help people do that, = but that will be generally useful and/or impossible to do well.

Unde= rstood. And I'm not claiming that we'd end up with the same runtime = efficiencies of a common shared lib ClassLoader, in previous versions of = Geronimo. However, we're processing WARs and EARs with packaged jar = files. And we'd better be pretty good at that. And we're certainly not = going to require users to convert these jars into bundles. So, is = extending this capability to a sharedlib dirctory (outside of the = archive) such a big stretch? It might not be as runtime efficient as it = could be, but a class of users might well appreciate its = simplicity.

We also want to be making it easy = for users to bundleize jars and incorporate them into Geronimo. However, = I'm not convinced that users should always be required to bundlize their = jars...

--kevan

= --Apple-Mail-418--886868715--