Return-Path: X-Original-To: apmail-river-dev-archive@www.apache.org Delivered-To: apmail-river-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 4AF3C90DA for ; Wed, 16 Nov 2011 03:43:36 +0000 (UTC) Received: (qmail 85466 invoked by uid 500); 16 Nov 2011 03:43:35 -0000 Delivered-To: apmail-river-dev-archive@river.apache.org Received: (qmail 85440 invoked by uid 500); 16 Nov 2011 03:43:32 -0000 Mailing-List: contact dev-help@river.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@river.apache.org Delivered-To: mailing list dev@river.apache.org Received: (qmail 85431 invoked by uid 99); 16 Nov 2011 03:43:29 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 16 Nov 2011 03:43:29 +0000 X-ASF-Spam-Status: No, hits=0.7 required=5.0 tests=SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (athena.apache.org: 209.147.113.130 is neither permitted nor denied by domain of mmcgrady@topiatechnology.com) Received: from [209.147.113.130] (HELO zimbra.topiatechnology.com) (209.147.113.130) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 16 Nov 2011 03:43:22 +0000 Received: from localhost (localhost.localdomain [127.0.0.1]) by zimbra.topiatechnology.com (Postfix) with ESMTP id 54ACD3520FCB for ; Tue, 15 Nov 2011 19:43:02 -0800 (PST) Received: from zimbra.topiatechnology.com ([127.0.0.1]) by localhost (zimbra.topiatechnology.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id iWUUa+SHqNSj for ; Tue, 15 Nov 2011 19:42:56 -0800 (PST) Received: from [10.0.1.6] (c-71-197-172-71.hsd1.wa.comcast.net [71.197.172.71]) by zimbra.topiatechnology.com (Postfix) with ESMTP id 1E2AA3520FCA for ; Tue, 15 Nov 2011 19:42:56 -0800 (PST) References: <4EC2F15C.8080208@zeus.net.au> In-Reply-To: Mime-Version: 1.0 (1.0) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii Message-Id: <2C095517-7A8A-4527-BB07-EDC93D362B48@topiatechnology.com> Cc: "dev@river.apache.org" X-Mailer: iPhone Mail (9A405) From: Mike McGrady Subject: Re: Thinking Aloud - fundamental challenges of jvm based distributed computing Date: Tue, 15 Nov 2011 19:42:55 -0800 To: "dev@river.apache.org" +1 Sent from my iPhone On Nov 15, 2011, at 7:09 PM, Niclas Hedhman wrote: > On Wed, Nov 16, 2011 at 7:10 AM, Peter Firmstone wrote:= >=20 >> If we share only the Service API, Java and Jini Platform classes and >> objects, then we minimise Java platform issues. >>=20 >=20 > I must have done something wrong in the past then, because that was always= > the case for me. >=20 >=20 >> if the proxy is later transferred to another node in the network, the >> codebase annotations have been lost because the classes were loaded by th= e >> application class loader and resolved from the class path. If the 2nd >> remote node doesn't have the required classes on its classpath, it's game= >> over. >>=20 >=20 > Well, not necessarily. I used http:// URLs as the classpath for the entire= > application (yes, in its own child to the system classloader). Classpath > annotations worked well. I could imagine that a River container has a > webserver built--in and serving its own classes to needing clients. >=20 >=20 >> This problem could be solved if the Classpath isn't visible to the proxy,= >> only the ServiceAPI, Java and Jini Platform classes, so developers don't >> have to understand ClassLoader visibility and preferred classes and may >> instead just focus on developing services and getting their OS and networ= k >> to support multicast discovery. >>=20 >=20 > Agree that it might help, or not... If you are forced to understand > classloader mechanics, I think you will learn to design better application= s. >=20 >=20 >> Some options: >>=20 >> 1. Use the extension classloader >> 2. OR Create a new child classloader, for the application and all >> libraries. >> 3. OR Use a Subprocess >>=20 >=20 > Not sure I like any of those. >=20 >=20 > Do you think it's time we work towards a standard container? So that at >> some point in the future all the downstream projects will be able to >> support it as well as their existing container? >>=20 >> What are the requirements for such a container? >>=20 >=20 > There a bunch of containers already, why not then discuss the pros/cons of= > each and see how what feedback there is. >=20 >=20 > Cheers > --=20 > Niclas Hedhman, Software Developer > http://www.qi4j.org - New Energy for Java >=20 > I live here; http://tinyurl.com/3xugrbk > I work here; http://tinyurl.com/6a2pl4j > I relax here; http://tinyurl.com/2cgsug