[jbosscache-dev] Let's make 3.0 backwards compatible

Manik Surtani manik at jboss.org
Fri Aug 22 08:56:02 EDT 2008


On 21 Aug 2008, at 09:11, Manik Surtani wrote:

>>
>> #1, I don't know how much that screws you up.
>
> #1 seems like the cleanest/easiest thing as far as the AS and other  
> API consumers are concerned, even if it does pollute JBC API.  I  
> plan to spend a few cycles today revisiting these and seeing what  
> can be done to maintain compat.  For the most part (Cache, Fqn,  
> CacheFactory) this should be ok, just would mean having a lot of  
> deprecated methods around, but for the Eviction and Region  
> interfaces it could be tricky.  Could mean some sort of internal  
> adapter.

Ok, I think this is doable.  Unnecessary deprecated crud on most  
interfaces, but this is ok.  The only *really* messy one is the  
eviction stuff.  To do this, I have:

1.  Reverted interfaces so that EvictionPolicy, EvictionPolicyConfig  
and EvictionAlgorithm are as they were in 2.x.
2.  My new EvictionAlgorithm interface and it's  
EvictionAlgorithmInterface have been renamed to EvictionSelector and  
EvictionSelectorConfig - as I should have done from the beginning to  
prevent confusion
3.  Internal eviction logic all use the EvictionSelector and  
EvictionSelectorConfig interfaces.
4.  I have created an EvictionAlgorithmSelectorBridge which implements  
EvictionSelector, which will be used when a legacy EvictionPolicy is  
detected.
5.  Existing EvictionAlgorithm implementations have now been renamed  
XXXSelector and implement EvictionSelector
6.  The original XXXAlgorithm classes extend the XXXSelector,  
implement EvictionAlgorithm and are marked as deprecated, and are just  
here as an extension point.
7.  New features, such as EvictionActionPolicies, are not supported by  
this bridge (naturally!)

Not checked any of this in as yet, still testing away.  :-)  I ought  
to be ready to check this in tomorrow, test with AS 5 trunk, etc.

Cheers
--
Manik Surtani
Lead, JBoss Cache
manik at jboss.org







More information about the jbosscache-dev mailing list