Coder Social home page Coder Social logo

ehcache3's People

Contributors

abfrmblr avatar akomakom avatar albinsuresh avatar alexsnaps avatar anthonydahanne avatar aurbroszniowski avatar chaktatha avatar chrisbradley001 avatar chrisdennis avatar chrisgreenaway avatar cljohnso avatar cschanck avatar garywkeim avatar gibsong avatar gmangalick1 avatar henri-tremblay avatar hhuynh avatar jhouserizer avatar ljacomet avatar lorban avatar mathieucarbou avatar mobasherul avatar myronkscott avatar nnares avatar palmanojkumar avatar ramsai1729 avatar rishabhmonga avatar terracotta-org avatar timeck avatar tmesic99 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ehcache3's Issues

Polish config framework

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

Port to a 107'ish API

i.e. Merge Cache & AtomicCache and have them be "close" to javax.cache.Cache (certainly keep Exceptions)

Fix Store to not consume ValueHolder instances

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...

Add Concurrent CRUD API to Cache interface

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)

Implement CRUD methods

Which basically means:

  • Implement in Ehcache
  • Define matching SPI on the Store interface
  • Implement in the on-heap store impl. OnHeapStore (our CHMv8 back port?)

Add SPI tester FW

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.

Define Eviction SPI

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)

Add CRUD API to Cache interface

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?

Add static analysis

Add :

  • Checkstyle (eol & no tab rules only)
  • findbugs (reports, no threshold to break the build)
  • test coverage (reports, no threshold to break the build)

Add Bulk CRUD API to Cache Interface

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)

Publication of build artifacts to Sonatype

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.

Replace (Cache)ConfigurationBuilder with Cache(Manager)Builders

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.

Rework CHMv8 tests

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)

Isolate 107 API in own module

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.

Port CHMv8

Need to :

  • find where to best source it from... JDK8? Existing port? and have that base import as a dedicated commit in the repo! Any subsequent change needs to be in other commits.
  • remove the unnecessary (e.g. stream API).
  • Unsafe usage may remain for now... will address that separately again, if ever.
  • Finally replace the DeprecatedOnHeapStore

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.