Infinispan Project FAQs

What is Infinispan?

Infinispan is a 100% open source licensed (LGPL) data grid platform.  It is a highly scalable, fully distributed JTA compliant in-memory data structure.

 

Certain design ideas and indeed some code has been borrowed from JBoss Cache 3.x, however JBoss Cache is in no way a dependency.  Infinispan is a complete, separate and standalone project.  Some may consider this a fork, but the people behind Infinispan and JBoss Cache see it as an evolution, since all future effort will be on Infinispan and not JBoss Cache.

 

Why not just call it JBoss Cache 4.x?

Several reasons.  Binary and even API compatibility with older JBoss Cache releases is no longer maintained, and the new API is simpler and easier to use.  Also, the internal data structure used is not compatible with JBoss Cache.

 

Does Infinispan need an application server to run?

No.  All that is needed is a Java 5.0-compatible JVM.

 

What will happen to JBoss Cache?  And POJO Cache?

The current release of JBoss Cache, 3.0.3 and soon to be 3.1.0, is considered stable enough.  No new features will be added to JBoss Cache or POJO Cache, although critical fixes will still be addressed.  Consider both JBoss Cache and POJO Cache to be in maintenance mode.

 

Will there be a POJO Cache replacement in Infinispan?

Yes.  A fine-grained API is on the Infinispan Roadmap, currently scheduled for Infinispan 5.0.0.  Notably, this fine-grained API will not use bytecode weaving and AOP like POJO Cache did, and instead will use a much more robust and powerful session-based design.  See this page for more details on this.

 

How come Infinispan's first release is 4.0.0?  This sounds weird!

We didn't want to release Infinispan as a 1.0, as in all fairness it is not a virgin codebase.  A lot of the code, designs and ideas in Infinispan are from JBoss Cache, and has been tried and tested, proven in high stress environments.  Infinispan should thus be viewed as a mature and stable platform and not a new, experimental one.

 

What should I use, JBoss Cache or Infinispan?

If you are starting a new project, by all means use Infinispan.  If you already use JBoss Cache, consider upgrading to Infinispan as this is where most of our focus and efforts will be.  There is a compatibility layer to help people migrate, although we recommend only using this if you (a) absolutely need a tree structure, or (b) only for a short time as a stepping stone.  You will find that Infinispan's Map based API performs much better.  In addition, we plan to provide migration guides and configuration conversion tools.

 

Where can I get more information on Infinispan?

The Infinispan project page is your best place to start things off, whether you are interested in using Infinispan in your work or are interested in collaborating on and contributing to Infinispan.

 

JSR 107 is not complete, but Infinispan's primary API is as close as possible to JSR 107's javax.cache.Cache interface.  The goal is once JSR 107 is complete, the org.infinispan.Cache interface would extend javax.cache.Cache.  The key thing to note is that just like javax.cache.Cache, org.infinispan.Cache extends java.util.concurrent.ConcurrentMap which would make migration between JSR 107 compliant data structures simple.

 

Does Infinispan have any representation on JSR 107?

Yes.  Manik Surtani, who is project lead on Infinispan, is on the JSR 107 expert group.

 

Can I use Infinispan with Hibernate?

Soon, yes.  We will provide a Hibernate second-level cache plugin for Hibernate using Infinispan.  If you wish to track the progress of this, or even volunteer to build this plugin, the JIRA is ISPN-6.