Coder Social home page Coder Social logo

Comments (5)

aseovic avatar aseovic commented on May 21, 2024

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.

javafanboy avatar javafanboy commented on May 21, 2024

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.

aseovic avatar aseovic commented on May 21, 2024

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.

aseovic avatar aseovic commented on May 21, 2024

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.

aseovic avatar aseovic commented on May 21, 2024

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)

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.