jsr107 / jsr107spec

JSR107 Cache Specification
Apache License 2.0
413 stars 164 forks source link

Clarify CacheManager properties pass-through behavior #389

Closed vbekiaris closed 6 years ago

vbekiaris commented 6 years ago

Javadoc of CachingProvider getCacheManager(URI uri, ClassLoader classLoader, Properties properties) states:

Properties are caching implementation specific. The behavior of mutating properties obtained from {@link CacheManager#getProperties()} is undefined.

Javadoc of CacheManager.getProperties() states:

Get the {@link Properties} that were used to create this {@link CacheManager}.

If properties are completely implementation specific, then no behavior should be asserted by the TCK on CacheManagers created with properties. This means that it is not possible to assert the pass-through behavior suggested by CacheManager.getProperties().

Proposed solution (as per https://github.com/jsr107/jsr107tck/issues/102#issuecomment-334931087) is to scope properties and assert the pass-through behavior in the TCK.