Websphere Extreme Scale + Hibernate = ?

Recently I was asked to integrate WXS (Websphere Extreme Scale, commercial cache implementation from IBM) into existing WPS (Websphere Process Server)-based project to implement read-only non-distributed cache (one independent cache instance per JVM). The idea is to plug cache implementation using 2nd level cache interfaces defined by Hibernate.

I plugged in the objectgrid.jar into hibernate configuration:

<property name="cache.provider_class">
com.ibm.websphere.objectgrid.hibernate.cache.ObjectGridHibernateCacheProvider
</property>


then saw the following exception during Hibernate initialisation:

[4/29/10 10:08:34:462 CEST] 00000069 RegisteredSyn E WTRN0074E:
Exception caught from after_completion synchronization operation:
java.lang.NoSuchMethodError:
org/hibernate/cache/CacheException.<init>(Ljava/lang/Throwable; )V
at com.ibm.ws.objectgrid.hibernate.cache.ObjectGridHibernateCache.getSession(
ObjectGridHibernateCache.java:149)
at com.ibm.ws.objectgrid.hibernate.cache.ObjectGridHibernateCache.put(
ObjectGridHibernateCache.java:385)
at org.hibernate.cache.UpdateTimestampsCache.invalidate(
UpdateTimestampsCache.java:67)

WXS expects CacheException(java.lang.Throwable) constructor, Hibernate API supports this constructor since version 3.2. Version 3.1 currently used in project doesn't support this constructor (only CacheException(java.lang.Exception) is present). This issue forced Hibernate upgrade in the project. Note that no Hibernate version requirements found on official "requirements" page (huh?).

Conclusions:

  • BIG BLUE is not a guarantee for high quality documentation
  • Closed source is harder to implement (any problems put you in waiting support queue)
  • "Big" != Good (IMHO), would you pay for read-only cache implementation $14,400.00 per PVU and deploy giant objectgrid.jar (15M) for this very purpose? Yikes!

I'm going to talk with project sponsor about better ways to spend money (my salary increase, maybe ­čśë ). Seriously: free EHCache / OSCache are more than sufficient for the task. They are small and Open Source.

"Do not hire Godzilla to pull Santa's sleigh, reindeers are better for this purpose" – Bart Simpson.

This entry was posted in en and tagged , , . Bookmark the permalink.

3 Responses to Websphere Extreme Scale + Hibernate = ?

  1. Michał says:

    Yeah, very good conclusions, and ones that deserve and extended article I'd say. My last company has a policy of choosing closed and paid-for software, so we're using Perforce (instead of say SVN or something more modern like Mercurial) and DevTrack (instead of something more reasonable like Mantis). We're not satisfied with any of these, but hey – we have support!

  2. Talip Ozturk says:

    Also check out Hazelcast!

    Hazelcast (http://www.hazelcast.com) is an open source, transactional, distributed caching solution for Java. It also has hibernate second level cache plugin and is released under Apache license.

    Hazelcast is actually a little more than a distributed cache; it is distributed implementation of queue, topic, map, multimap, lock, executor service for Java.

  3. Art Jolin says:

    Open source is very nice when you have a skill that is a) capable of climbing into it, b) has the TIME to climb into it, and c)not on vacation, has left for a better job or just got hit by a truck. Welcome to thinking like a manager (which, when done properly, is not a thing to be ashamed of). Support may take longer than Joe Wizard-Hacker would take climbing into the code, but may take less time than Bob Newbie trying to stumble his way through. Management has to think about averages (I'm a code weenie but an old one, I've gained sympathy for the good managers I've known).

Leave a Reply

Your email address will not be published.