Wow. I think this is quite a big deal, going forward...
I've never liked the existing behaviour, and it seems like you have very
thoroughly worked around those issues.

I really look forward to finding some time to play with your newer
version - but I just wanted to personally thank you for the amazing work.

regards,
Dawid Loubser


On 01/11/2016 13:27, Peter Firmstone 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.
>  
>


Reply via email to