We've got you to thank for pushing Jini's limits, it's taken years for River to adopt this feature.
It makes a lot of sense to do it. Cheers, Peter. Sent from my Samsung device. Include original message ---- Original message ---- From: Gregg Wonderly <gr...@wonderly.org> Sent: 03/11/2016 09:56:43 am To: dev@river.apache.org Subject: Re: ServiceDiscoveryManager Delayed unmarshalling is a big deal for my use! Gregg Sent from my iPhone > On Nov 1, 2016, at 6:27 AM, Peter Firmstone <peter.firmst...@zeus.net.au> >wrote: > > I've finally got ServiceDiscoveryManager to a stage where I feel like it's >been completely brought up to date. > > Originally SDM's LookupCache had some latent race conditions that became >evident after I created a non blocking DynamicPolicyProvider. > > I spent some time refactoring it, I separated LookupCacheImpl from SDM, into >it's own file, but was never happy with remote method calls and filtering >being performed whist synchronized on a monitor. > > I've finally got it sorted nicely now, so it's much easier to understand. >I've used some Java 8 features like ConcurrentMap.computeIfPresent, but I'm >finally happy with it. > > Logging in SDM is now processed by a single threaded executor, so logging >doesn’t interfere with concurrency, yep it's a complex class and logging helps >you figure out what's going on. > > The best feature though, is utilising the new ServiceRegistrar default lookup >method. > > SDM's and LookupCache's api is unchanged, you just configure it how you want >it to behave. > > So if you want the existing slow insecure behaviour where you download >everything, authenticate and filter later you can keep doing that. > > However, if you want security and performance, with delayed unmarshalling, >don't want to download services you can't authenticate or your filter doesn’t >match locally using logical comparisons of attributes, you can do that too. >Because you only download what you want when you need it, performance is gr8. > > I've written a bunch of new tests too. I haven't committed the latest >changes. > > Oh and security doesn't require you to implement ProxyTrust (complex and >confusing), because the service is authenticated prior to download, not after. > > Cheers, > > Peter. > > Sent from my Samsung device. >