What is Jofti?

Jofti is a simple to use, high-performance object indexing and searching solution for Objects in a Caching layer or storage structure that supports the Map interface. The framework provides for transparent addition, removal and updating of objects in its index as well as simple to use query capabilties for searching.

Is it for me?

If you want to be able to quickly search objects in your cache as if it was a datastore, leverage your cache data so you do not have to do expensive repeat fetching from remote systems or add flexible query capabilities to an existing cache. Even if you simply want to be able to find data in a cache or map without knowing the key, then Jofti is for you.

Find out more...

Does it work with...?

Jofti has been designed to allow developers freedom to use the caching solution they prefer as a plug-in or configure its Indexes as listeners for an existing Cache.

Currently supported are:

  • IBM ObjectGrid
  • Tangosol Coherence
  • EHCache
  • OSCache
  • JBossCache
  • Any Map structure

How does it work?

Check out the user guide.

Features

Simple Querying

Jofti currently supports two standard query language formats:

  • SQL
  • EJB3 QL

The adoption of these standards for the query languages is to provide a low-learning curve for developers and enable easy development of complex queries using well understood idioms.

 

Ease of Integration

For Caches that support the listener model, Jofti can be added to any application by simply registering an existing Cache with Jofti's IndexManager.

The index is then kept up to date with the Cache no matter where it is used in the application. This means almost zero code change to add querying capabilities to an existing Cache instance.

Memory Management

For applications that have large cache sizes, or operate in a memory-sensitive environment, you can easily specify only a portion of the index data to be kept in memory, with the rest paged to and from disk on-demand.

Flexible licensing

The current release (version 1.1) is available under a dual license of GPL or a Commercial license for those that want to avoid the implications of the GPL license.

See the license section for more details.

Preview release

1.2-rc4 now available:

  • Support for IBM ObjectGrid
  • Support for Tangosol Coherence v3
  • Support for EHCache 1.2.3
  • Multi-attribute sorting
  • Max result limits
  • Paging of results
  • Disk overflow for large indexes
  • Addition of EJB3 QL format queries
  • Support for named parameters in queries
  • Support for positional parameters in Queries
  • Specification of object fields to return
  • Improved perfomance and memory usage and much, much more...

Download preview

Features

  • Multi Cache support
  • Transaction support
  • Type aware searching
  • Configurable property indexing
  • Indexing/searching by interfaces
  • Support for dynamic proxies
  • Support for primitve attributes
  • Support for collections and arrays
  • String prefix searching
  • Simple query language