Move cacheable class configuration to ClassMetaData
---------------------------------------------------

                 Key: OPENJPA-1328
                 URL: https://issues.apache.org/jira/browse/OPENJPA-1328
             Project: OpenJPA
          Issue Type: Bug
          Components: datacache
    Affects Versions: 1.2.1, 1.2.0
            Reporter: Jody Grassel
            Assignee: Michael Dick


I'm proposing to move the cacheable class configuration processing from the 
datacache classes to ClassMetaData.  The feature, introduced in OPENJPA-1045, 
effectively works by returning null for ClassMetaData.getDataCacheName(), where 
classes which should not be cached return null, otherwise the name of the 
datacache they may be cached by is returned.  

THe problem is that some third party datacache plugins are not reentrant, and 
the existing ClassMetaData.isCacheable() makes use of the method call 
getRepository().getConfiguration().getDataCacheManagerInstance().  This invokes 
the initialization of the datacache, which may result in further 
initialization/copying of CMD objects, which reenter the isCacheable() method.  
If a third party datacache plugin is not reentrant safe, this can cause a 
failure in the form of Exceptions or hung threads.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to