/**
* Factory method to create a new cache instance from the passed configuration.
*
* @param \AppserverIo\Appserver\Core\Api\Node\PersistenceUnitNodeInterface $persistenceUnit The persistence unit node
* @param \AppserverIo\Appserver\PersistenceContainer\Doctrine\V2\CacheFactory\CacheConfigurationNodeInterface $cacheConfiguration The cache configuration
*
* @return \Doctrine\Common\Cache\CacheProvider The cache instance
*/
public static function getCacheImpl(PersistenceUnitNodeInterface $persistenceUnit, CacheConfigurationNodeInterface $cacheConfiguration)
{
// load the factory class
$factory = $cacheConfiguration->getFactory();
// create a cache instance
$cache = $factory::get($cacheConfiguration->getParams());
$cache->setNamespace(sprintf('dc2_%s_', md5($persistenceUnit->getName())));
// return the cache instance
return $cache;
}