Return-Path: Delivered-To: apmail-incubator-jackrabbit-dev-archive@www.apache.org Received: (qmail 39009 invoked from network); 21 Jun 2005 14:07:34 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 21 Jun 2005 14:07:34 -0000 Received: (qmail 40357 invoked by uid 500); 21 Jun 2005 14:07:32 -0000 Mailing-List: contact jackrabbit-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: jackrabbit-dev@incubator.apache.org Delivered-To: mailing list jackrabbit-dev@incubator.apache.org Received: (qmail 40344 invoked by uid 99); 21 Jun 2005 14:07:32 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 21 Jun 2005 07:07:32 -0700 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [213.185.42.161] (HELO grotti.greywolves.org) (213.185.42.161) by apache.org (qpsmtpd/0.29) with SMTP; Tue, 21 Jun 2005 07:07:34 -0700 Received: (qmail 33294 invoked by uid 103); 21 Jun 2005 14:07:29 -0000 Received: from ip213-185-42-165.laajakaista.mtv3.fi (HELO [213.185.42.165]) (213.185.42.165) by grotti.greywolves.org (qpsmtpd/0.28) with ESMTP; Tue, 21 Jun 2005 17:07:28 +0300 Message-ID: <42B81F1D.7070309@zitting.name> Date: Tue, 21 Jun 2005 17:07:25 +0300 From: Jukka Zitting User-Agent: Mozilla Thunderbird 1.0.2-1.3.3 (X11/20050513) X-Accept-Language: en-us, en MIME-Version: 1.0 To: jackrabbit-dev@incubator.apache.org Subject: Re: ObservationManager for JCR-RMI References: <42B7CD44.3070700@day.com> <42B7EFA3.8050300@yukatan.fi> <42B806CA.1030502@day.com> In-Reply-To: <42B806CA.1030502@day.com> Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Hi, Felix Meschberger wrote: > Ok, I only used the Channel class from the concurrent library. So I > implemented a simple replacement based on a LinkedList. Nice, thanks. >> - Out of curiosity, did you think about solving the listener problem >> by using a remote listener interface instead of the polling solution? >> This was my initial idea but I never got around to trying it out for >> real. > > Yes my first approach was to try to implement it like this. But I could > not find or imagine a way for the server placing an RMI call to the > client without having to register an RMI object on the client side, as > the mechanism of listeners is a call-back from server to client. I also > consider this "back-connection" somewhat problematic. OK, thanks for sharing this. In principle the client would not need to register the listener objects. It could just pass a RemoteListener reference to the server and the existing RMI connection would transparently handle the (now peer to peer) listener method invocations over the network without any need for registering or looking up a "listener service". Anyhow, I'm somewhat worried about the correct functioning of for example the RMI distributed garbage collector in such a setup. I'm not that much of an RMI guru to be fully confident about this idea. :-) > Attached is a patch which fixes the issues regarding the plugin.xml, > copyright messages and the concurrent dependency. Thanks. One more thing before I commit your changes; the patch seems to be missing the o.a.j.rmi.observation.Queue class. BR, Jukka Zitting