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$