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
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)
Need to :
Unsafe
usage may remain for now... will address that separately again, if ever.DeprecatedOnHeapStore
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)
See #52, but there are quite some places where this still needs to be wired
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
i.e. Merge Cache & AtomicCache and have them be "close" to javax.cache.Cache (certainly keep Exceptions)
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)
Add :
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...
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)
How does one configure Cache
upfront to be managed by a CacheManager
? This has to match 107 enough to not confuse everyone...
Which basically means:
Ehcache
Store
interfaceOnHeapStore
(our CHMv8 back port?)That's both the Configuration
as well as the other APIs (if any)
Requires having Expiry implemented in Ehcache
but NOT the bridge to 107... Only an implementation that's bridgeable.
both write through, as well as write behind
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.
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.
Just enough so we can support the 107 MBean stuff
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.
Requires LocalTransactionManager API
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!
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 ?
See issue #45
Figure out and implement the default ResilienceStrategy
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?
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.
Using the CacheLoader API and hooking into the life cycle listeners
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.