Allow to use specific cache implementations in Ehcache cache provider

Description

From the PR:

Depend on Ehcache interface instead of depending on one of the implementation (for example BlockingCache is not working in current version)
Current ehcache2 integration uses one of the implementation of Ehcache named net.sf.ehcache.Cache

But I am using BlockingCache from net.sf.ehcache.constructs.blocking package,
that extends EhcacheDecoratorAdapter and is an implementation of Ehcache,
but doesn't extend net.sf.ehcache.Cache

I think it's better approach depending on interfaces, not implementations

Environment

None

Status

Assignee

Unassigned

Reporter

Guillaume Smet

Fix versions

Labels

None

backPortable

None

Suitable for new contributors

None

Requires Release Note

None

Pull Request

None

backportDecision

None

Components

Priority

Major
Configure