Comments (5)
Of course -- there is no difference between community and commercial editions in this regard.
In general, any thread-safe java.util.Map
implementation is an acceptable replacement for com.tangosol.net.cache.LocalCache
(which is what is used by default), but it may limit the features that are available.
For example, to support events, it also needs to implement com.tangosol.util.ObservableMap
interface, and to support caching (expiry, eviction, etc.) it needs to implement com.tangosol.net.cache.CacheMap
, or better yet, com.tangosol.net.cache.ConfigurableCacheMap
interface.
The above may require a lot of work to implement properly, so if you don't mind me asking, what are you trying to accomplish that one of the built-in implementations don't provide? If it's something that you think is generally useful, we are happy to accept contributions as well ;-)
from coherence.
Great - some thoughts I had in mind was to look into developing implementations using Caffeine (i would also like @ben-manes take advantage of TinyFLU but at the same time have some other goodness provided by Coherence) and a local OSS KeyValue Database library like RocksDB or a high performance persisted Map like Chronicle Map (as Coherence CE as I understand it lacks the "elastic data" feature present in the commercial version).
Are there any blog-post or documentation section that you can sugest that clearly explains what you need to do in addition to implementing the class to use it as "part of" Coherence (i.e. how to configure its use etc.)?
Assuming I actually decide to do this I would of course be happy to contribute - that is what OSS is all about!
from coherence.
Awesome. There is already #16 and I just reached out to @ben-manes to see if he's willing to restart that work, and he is. Are you on public Coherence Slack? May be easier to continue specific discussion there.
But to answer your question, the backing map to use is configured via backing-map-scheme
within cache config.
By default, most cache configs will have something like this within one of the higher level cache schemes, such as distributed-cache-scheme
:
<backing-map-scheme>
<local-scheme/>
</backing-map-scheme>
which will create and configure an instance of a LocalCache
.
You can specify custom implementation via class-scheme
:
<backing-map-scheme>
<class-scheme>
<class-name>com.tangosol.util.SafeHashMap</class-name>
</class-scheme>
</backing-map-scheme>
from coherence.
Also, funny that you mention RocksDB and Chronicle: I'm actually looking into possible integration points with both Chronicle Map and Chronicle Queue myself for the last few days, and @mgamanho is playing with RocksDB atm.
Fortuitous timing, I guess... ;-)
from coherence.
Finally, in case you decide to contribute, please go ahead and sign the Oracle Contributor Agreement, so we don't have any admin hurdles in a way when the time comes to merge pull requests.
Also, please review Contributing Guidelines and Developer Guidelines before starting.
from coherence.
Related Issues (20)
- PagedTopic MBean attributes documentation
- Bad performance pruning large caches HOT 4
- Is there a function to obtain hotkeys implemented HOT 3
- Does Coherence work on ARM architecture? HOT 1
- OldCache violates the Map contract HOT 3
- Does Coherence optimize request routing to stay within racks where possible? HOT 7
- How to safely scale in storage enabled nodes in cloud environment? HOT 2
- Coherence CE transaction support? HOT 2
- Need some advice about Coherent indexes HOT 3
- Allow auto scaling without making cluster vulnerable HOT 12
- Dynamic backups
- Backups in Flash
- Provide a Graddle alternative for Coherence POF Maven plugin HOT 1
- CaffeineCache doesn't track entry and cache size correctly when unit factor is used HOT 1
- Relationship between future releases of Coherence Enterprise/Grid and Coherence Community HOT 3
- COH-23644? HOT 9
- Support to change the percentage used for calculating default low-units HOT 1
- Is "-Dtangosol.coherence.override" not used in Coherence CE? Still talking about the old v14 sorry for that.... :-( HOT 7
- initiating connection migration with tmb? HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from coherence.