Return-Path: Delivered-To: apmail-incubator-river-dev-archive@minotaur.apache.org Received: (qmail 23016 invoked from network); 3 Jan 2011 23:54:32 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.3) by minotaur.apache.org with SMTP; 3 Jan 2011 23:54:32 -0000 Received: (qmail 76298 invoked by uid 500); 3 Jan 2011 23:54:32 -0000 Delivered-To: apmail-incubator-river-dev-archive@incubator.apache.org Received: (qmail 76273 invoked by uid 500); 3 Jan 2011 23:54:32 -0000 Mailing-List: contact river-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: river-dev@incubator.apache.org Delivered-To: mailing list river-dev@incubator.apache.org Received: (qmail 76265 invoked by uid 99); 3 Jan 2011 23:54:32 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 03 Jan 2011 23:54:32 +0000 X-ASF-Spam-Status: No, hits=0.7 required=10.0 tests=RCVD_IN_DNSWL_NONE,SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (athena.apache.org: local policy) Received: from [61.9.189.149] (HELO nschwmtas05p.mx.bigpond.com) (61.9.189.149) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 03 Jan 2011 23:54:24 +0000 Received: from nschwotgx02p.mx.bigpond.com ([61.9.223.241]) by nschwmtas05p.mx.bigpond.com with ESMTP id <20110103235401.MJLC11322.nschwmtas05p.mx.bigpond.com@nschwotgx02p.mx.bigpond.com> for ; Mon, 3 Jan 2011 23:54:01 +0000 Received: from [10.1.1.2] (really [61.9.223.241]) by nschwotgx02p.mx.bigpond.com with ESMTP id <20110103235400.BGGG13035.nschwotgx02p.mx.bigpond.com@[10.1.1.2]> for ; Mon, 3 Jan 2011 23:54:00 +0000 Message-ID: <4D226028.8000903@zeus.net.au> Date: Tue, 04 Jan 2011 09:47:52 +1000 From: Peter Firmstone User-Agent: Thunderbird 2.0.0.14 (X11/20080531) MIME-Version: 1.0 To: river-dev@incubator.apache.org Subject: Re: Need for jsk-dl.jar References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-RPD-ScanID: Class unknown; VirusThreatLevel unknown, RefID str=0001.0A150203.4D226198.0102,ss=1,fgs=0 Dennis Reedy wrote: > I'm slogging through classes and jars attempting some modularization of the River codebase. Its going fairly well. I'm sitting here scratching my head whilst looking at jsk-dl.jar. My question is as follows: > > In general jsk-lib.jar is either in the classpath of a service, as well as in the classpath of a client. The inclusion of jsk-lib.jar (from a client's point of view) brings along helpful utilities like ServiceDiscoveryManager and the like. From a service developers point of view, you can't really get around not using it. > > If jsk-lib.jar is in the classpath (and by inclusion jsk-platform.jar), why do we need jsk-dl.jar? Unless I'm mistaken all of the classes that are in jsk-dl.jar are already in jsk-lib.jar, why is it needed? > > What have I forgotten? > > Regards > > Dennis > I was alluding to that earlier myself, it seems to be there for proxy's to utilise when clients lack jsk-lib.jar, but in a modular environment this could cause versioning issues, if the client already has it installed locally, the release notes simply states: The codebase JAR file for |jsk-lib.jar|. An application that includes |jsk-lib.jar| in its class-path may also need to include |jsk-dl.jar| in its codebase. Oddly enough a diff reveals that there is one class present in jsk-dl.jar missing from jsk-lib.jar: bash-3.00$ diff jsk-dl.deps jsk-lib.deps 0a1 > com/sun/jini/action/GetLongAction.class 3c4,7 < com/sun/jini/jeri/internal/http/HttpParseException.class --- > com/sun/jini/config/Component.class > com/sun/jini/config/Config.class > com/sun/jini/constants/ThrowableConstants.class > com/sun/jini/constants/TimeConstants.class 5a10 > com/sun/jini/landlord/FixedLeasePeriodPolicy.class 10a16,21 > com/sun/jini/landlord/LandlordUtil.class > com/sun/jini/landlord/LeaseFactory.class > com/sun/jini/landlord/LeasePeriodPolicy.class > com/sun/jini/landlord/LeasePeriodPolicy$Result.class > com/sun/jini/landlord/LeasedResource.class > com/sun/jini/landlord/LocalLandlord.class 19a31 > com/sun/jini/logging/LogUtil.class 20a33,35 > com/sun/jini/lookup/entry/LookupAttributes.class > com/sun/jini/lookup/entry/LookupAttributes$FieldComparator.class > com/sun/jini/phoenix/ActivationAdmin.class 24a40,47 > com/sun/jini/reliableLog/LogException.class > com/sun/jini/reliableLog/LogHandler.class > com/sun/jini/reliableLog/LogInputStream.class > com/sun/jini/reliableLog/LogOutputStream.class > com/sun/jini/reliableLog/ReliableLog.class > com/sun/jini/resource/Service.class > com/sun/jini/resource/Service$1.class > com/sun/jini/resource/Service$LazyIterator.class 25a49 > com/sun/jini/start/LifeCycle.class 26a51,77 > com/sun/jini/thread/Executor.class > com/sun/jini/thread/GetThreadPoolAction.class > com/sun/jini/thread/InProgress.class > com/sun/jini/thread/InterruptedStatusThread.class > com/sun/jini/thread/NewThreadAction.class > com/sun/jini/thread/NewThreadAction$1.class > com/sun/jini/thread/NewThreadAction$2.class > com/sun/jini/thread/ReadersWriter.class > com/sun/jini/thread/ReadersWriter$ConcurrentLockException.class > com/sun/jini/thread/ReadyState.class > com/sun/jini/thread/ReadyState$RemoteExceptionWrapper.class > com/sun/jini/thread/RetryTask.class > com/sun/jini/thread/RetryTask$1.class > com/sun/jini/thread/RetryTask$RetryTime.class > com/sun/jini/thread/StreamPlugThread.class > com/sun/jini/thread/TaskManager.class > com/sun/jini/thread/TaskManager$Task.class > com/sun/jini/thread/TaskManager$TaskThread.class > com/sun/jini/thread/ThreadPool.class > com/sun/jini/thread/ThreadPool$Task.class > com/sun/jini/thread/ThreadPool$Worker.class > com/sun/jini/thread/ThreadPoolPermission.class > com/sun/jini/thread/WakeupManager.class > com/sun/jini/thread/WakeupManager$1.class > com/sun/jini/thread/WakeupManager$Kicker.class > com/sun/jini/thread/WakeupManager$ThreadDesc.class > com/sun/jini/thread/WakeupManager$Ticket.class 28a80,128 > net/jini/discovery/Constants.class > net/jini/discovery/DiscoveryChangeListener.class > net/jini/discovery/DiscoveryEvent.class > net/jini/discovery/DiscoveryGroupManagement.class > net/jini/discovery/DiscoveryListener.class > net/jini/discovery/DiscoveryLocatorManagement.class > net/jini/discovery/DiscoveryManagement.class > net/jini/discovery/DiscoveryPermission.class > net/jini/discovery/DiscoveryPermission$1.class > net/jini/discovery/DiscoveryPermission$Collection.class > net/jini/discovery/IncomingMulticastAnnouncement.class > net/jini/discovery/IncomingMulticastRequest.class > net/jini/discovery/IncomingUnicastRequest.class > net/jini/discovery/IncomingUnicastResponse.class > net/jini/discovery/LookupDiscovery.class > net/jini/discovery/LookupDiscovery$1.class > net/jini/discovery/LookupDiscovery$10.class > net/jini/discovery/LookupDiscovery$11.class > net/jini/discovery/LookupDiscovery$12.class > net/jini/discovery/LookupDiscovery$12$1.class > net/jini/discovery/LookupDiscovery$13.class > net/jini/discovery/LookupDiscovery$2.class > net/jini/discovery/LookupDiscovery$3.class > net/jini/discovery/LookupDiscovery$4.class > net/jini/discovery/LookupDiscovery$5.class > net/jini/discovery/LookupDiscovery$6.class > net/jini/discovery/LookupDiscovery$7.class > net/jini/discovery/LookupDiscovery$8.class > net/jini/discovery/LookupDiscovery$9.class > net/jini/discovery/LookupDiscovery$AnnouncementInfo.class > net/jini/discovery/LookupDiscovery$AnnouncementListener.class > net/jini/discovery/LookupDiscovery$AnnouncementTimerThread.class > net/jini/discovery/LookupDiscovery$CheckGroupsMarker.class > net/jini/discovery/LookupDiscovery$CheckReachabilityMarker.class > net/jini/discovery/LookupDiscovery$DecodeAnnouncementTask.class > net/jini/discovery/LookupDiscovery$DecodeAnnouncementTask$1.class > net/jini/discovery/LookupDiscovery$Notifier.class > net/jini/discovery/LookupDiscovery$Notifier$1.class > net/jini/discovery/LookupDiscovery$NotifyTask.class > net/jini/discovery/LookupDiscovery$Requestor.class > net/jini/discovery/LookupDiscovery$ResponseListener.class > net/jini/discovery/LookupDiscovery$UnicastDiscoveryTask.class > net/jini/discovery/LookupDiscovery$UnicastDiscoveryTask$1.class > net/jini/discovery/LookupDiscovery$UnicastDiscoveryTask$2.class > net/jini/discovery/LookupDiscoveryManager.class > net/jini/discovery/LookupDiscoveryManager$1.class > net/jini/discovery/LookupDiscoveryManager$GroupDiscoveryListener.class > net/jini/discovery/LookupDiscoveryManager$LocatorDiscoveryListener.class > net/jini/discovery/LookupDiscoveryManager$ProxyReg.class 30a131,138 > net/jini/discovery/LookupLocatorDiscovery.class > net/jini/discovery/LookupLocatorDiscovery$1.class > net/jini/discovery/LookupLocatorDiscovery$DiscoveryTask.class > net/jini/discovery/LookupLocatorDiscovery$LocatorReg.class > net/jini/discovery/LookupLocatorDiscovery$LocatorReg$1.class > net/jini/discovery/LookupLocatorDiscovery$LocatorReg$2.class > net/jini/discovery/LookupLocatorDiscovery$Notifier.class > net/jini/discovery/LookupLocatorDiscovery$NotifyTask.class 31a140,144 > net/jini/discovery/OutgoingMulticastAnnouncement.class > net/jini/discovery/OutgoingMulticastAnnouncement$1.class > net/jini/discovery/OutgoingMulticastRequest.class > net/jini/discovery/OutgoingUnicastRequest.class > net/jini/discovery/OutgoingUnicastResponse.class 40a154,161 > net/jini/lease/DesiredExpirationListener.class > net/jini/lease/ExpirationWarningEvent.class > net/jini/lease/LeaseListener.class > net/jini/lease/LeaseRenewalEvent.class > net/jini/lease/LeaseRenewalManager.class > net/jini/lease/LeaseRenewalManager$Entry.class > net/jini/lease/LeaseRenewalManager$QueuerTask.class > net/jini/lease/LeaseRenewalManager$RenewTask.class 45a167,191 > net/jini/lookup/JoinManager.class > net/jini/lookup/JoinManager$1.class > net/jini/lookup/JoinManager$AddAttributesTask.class > net/jini/lookup/JoinManager$DiscMgrListener.class > net/jini/lookup/JoinManager$DiscardProxyTask.class > net/jini/lookup/JoinManager$JoinTask.class > net/jini/lookup/JoinManager$LeaseExpireNotifyTask.class > net/jini/lookup/JoinManager$ModifyAttributesTask.class > net/jini/lookup/JoinManager$ProxyReg.class > net/jini/lookup/JoinManager$ProxyReg$DiscLeaseListener.class > net/jini/lookup/JoinManager$ProxyRegTask.class > net/jini/lookup/JoinManager$RegisterTask.class > net/jini/lookup/JoinManager$SetAttributesTask.class > net/jini/lookup/LookupCache.class > net/jini/lookup/ServiceDiscoveryEvent.class > net/jini/lookup/ServiceDiscoveryListener.class > net/jini/lookup/ServiceDiscoveryManager.class > net/jini/lookup/ServiceDiscoveryManager$1.class > net/jini/lookup/ServiceDiscoveryManager$CacheTask.class > net/jini/lookup/ServiceDiscoveryManager$DiscMgrListener.class > net/jini/lookup/ServiceDiscoveryManager$EventReg.class > net/jini/lookup/ServiceDiscoveryManager$LeaseListenerImpl.class > net/jini/lookup/ServiceDiscoveryManager$LookupCacheImpl.class > net/jini/lookup/ServiceDiscoveryManager$LookupCacheImpl$DiscardServiceTask.class > net/jini/lookup/ServiceDiscoveryManager$LookupCacheImpl$LookupListener.class 46a193,205 > net/jini/lookup/ServiceDiscoveryManager$LookupCacheImpl$LookupTask.class > net/jini/lookup/ServiceDiscoveryManager$LookupCacheImpl$NewOldServiceTask.class > net/jini/lookup/ServiceDiscoveryManager$LookupCacheImpl$NotifyEventTask.class > net/jini/lookup/ServiceDiscoveryManager$LookupCacheImpl$ProxyRegDropTask.class > net/jini/lookup/ServiceDiscoveryManager$LookupCacheImpl$RegisterListenerTask.class > net/jini/lookup/ServiceDiscoveryManager$LookupCacheImpl$ServiceDiscardTimerTask.class > net/jini/lookup/ServiceDiscoveryManager$LookupCacheImpl$UnmapProxyTask.class > net/jini/lookup/ServiceDiscoveryManager$ProxyReg.class > net/jini/lookup/ServiceDiscoveryManager$ServiceDiscoveryListenerImpl.class > net/jini/lookup/ServiceDiscoveryManager$ServiceIdTask.class > net/jini/lookup/ServiceDiscoveryManager$ServiceItemReg.class > net/jini/lookup/ServiceIDListener.class > net/jini/lookup/ServiceItemFilter.class 51a211 > net/jini/lookup/entry/EntryBeans.class 64a225,239 > net/jini/lookup/ui/AboutUI.class > net/jini/lookup/ui/AdminUI.class > net/jini/lookup/ui/MainUI.class > net/jini/lookup/ui/attribute/AccessibleUI.class > net/jini/lookup/ui/attribute/Locales.class > net/jini/lookup/ui/attribute/RequiredPackages.class > net/jini/lookup/ui/attribute/UIFactoryTypes.class > net/jini/lookup/ui/factory/DialogFactory.class > net/jini/lookup/ui/factory/FrameFactory.class > net/jini/lookup/ui/factory/JComponentFactory.class > net/jini/lookup/ui/factory/JDialogFactory.class > net/jini/lookup/ui/factory/JFrameFactory.class > net/jini/lookup/ui/factory/JWindowFactory.class > net/jini/lookup/ui/factory/PanelFactory.class > net/jini/lookup/ui/factory/WindowFactory.class bash-3.00$