ehcache / ehcache3 Goto Github PK
View Code? Open in Web Editor NEWEhcache 3.x line
Home Page: http://www.ehcache.org
License: Apache License 2.0
Ehcache 3.x line
Home Page: http://www.ehcache.org
License: Apache License 2.0
Using the CacheLoader API and hooking into the life cycle listeners
both write through, as well as write behind
i.e. Merge Cache & AtomicCache and have them be "close" to javax.cache.Cache (certainly keep Exceptions)
That's both the Configuration
as well as the other APIs (if any)
Ideally this would support all existing algorithms including Clock?
This is an API issue, it doesn't require implementing any further than to please javac. (i.e. throw UnsupportedOperationException
is just fine)
See #52, but there are quite some places where this still needs to be wired
Requires LocalTransactionManager API
How does one configure Cache
upfront to be managed by a CacheManager
? This has to match 107 enough to not confuse everyone...
Consists of adding the API to put/get/remove from the Cache.
This is an API issue, it doesn't require implementing any further than to please javac. (i.e. throw UnsupportedOperationException
is just fine).
Currently these are pretty simple, e.g.: Cache.get(K): V
but should we keep them as such? add checked exceptions? ... more?
i.e. everything around config parsing from XML, creating Builders and building actual Cache
and CacheManager
instances. But also wiring the RuntimeConfiguration
of some kind, that let someone read the configuration currently in use by a given Cache
or CacheManager
, also enabling mutating the bits that are mutable
Travis CI is lacking at least the test result publishing feature.
Given this, we are considering http://www.cloudbees.com/resources/foss
This issue is to track required changes to project setup in case it is needed.
We want JavaDoc on all API types... So this task also encompasses adding Javadoc where some is missing!
See issue #45
As part of the first milestone and once CI choice/setup has been finalised, we need to add the possibility of pushing SNAPSHOT and later releases to Sonatype/Maven Central.
Figure out and implement the default ResilienceStrategy
Currently Store.put
takes (K, ValueHolder<V>)
- it's probably better to never ever accept ValueHolder
instances. The metadata shouldn't be provided by anything other than the Store
anyway...
We don't really need Configs to configure stuff... We can build CacheManager
and Cache
instances right away. We'll need Configurations for Runtime stuff though, with getters to read-only attributes and getters as well as setters for read-write ones.
Given we have 2k minutes on cloud bees, the current tests consume quite some CPU (and wall clock time)... Probably want to make these quicker/lighter. May mean move the "full" ones to some other test phase (we only have unit tests for now though)
Add the putAll
, getAll
et al methods to the Cache
interface.
This is an API issue, it doesn't require implementing any further than to please javac. (i.e. throw UnsupportedOperationException
is just fine)
I introduced it as it was required in the API module.
It's all in core now... Do we want to keep this indirection at all ?
Just enough so we can support the 107 MBean stuff
Add :
Requires having Expiry implemented in Ehcache
but NOT the bridge to 107... Only an implementation that's bridgeable.
Which basically means:
Ehcache
Store
interfaceOnHeapStore
(our CHMv8 back port?)We probably need some "framework" for that. We thought about having a dedicated qualified artifact for the module contain the SPIs, which would contain a Tester
to each interface.
Where the OnHeapStore
is the first thing to be tested. Given what it does now, it probably doesn't require any actual unit testing on its own. But consider it part of this task to make sure that's actually true.
Consists of adding the putIfAbsent
, replace
et al on the Cache interface.
This is an API issue, it doesn't require implementing any further than to please javac. (i.e. throw UnsupportedOperationException
is just fine)
That delegates to the "real" Ehcache 3 API (that's in the 107 spirit still).
Avoids potential issues w/ packaging the 107 api as part of Ehcache if 107 becomes part of the EE spec.
Need to :
Unsafe
usage may remain for now... will address that separately again, if ever.DeprecatedOnHeapStore
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.