[jboss-user] [JBoss Cache: Core Edition] - JNDI Deployment

mraccola do-not-reply at jboss.com
Thu Jun 11 14:38:58 EDT 2009

I posted a while back asking for advice on what was the best way to share a JBC instance for all applications on a node, http://www.jboss.org/index.html?module=bb&op=viewtopic&t=151849.  The recommendation was to use JNDI and I agree.

However, I am running into the same problem that has been documented on other posts...org.jboss.cache.Cache is not Serilializable.  When I try to bind a cache instance to JNDI in WebSphere 6.1 for example I get the following exception:

  | A NamingException is being thrown from a javax.naming.Context implementation. Details follow:
  | Context implementation: com.ibm.ws.naming.jndicos.CNContextImpl
  | Context method: bind
  | Context name: HQ-M-3040Node01Cell/nodes/HQ-M-3040Node01/servers/server1
  | Target name: fleetcycle/cache/jboss-cache
  | Other data: Object to bind: org.jboss.cache.DataContainerImpl [0 nodes, 0 locks]
  | Exception stack trace: com.ibm.ws.naming.util.CannotBindObjectException: Object is not of any type which can be bound.

As described in the WebSphere 6.1 Info Center, http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.messages.doc/com.ibm.ws.naming.util.WsnMessages.html, this is because the object which is being bound is not Serializable.

Here is the code (in progress) which is creating the cache instance and attempting to bind to JNDI.

  |         CacheFactory factory = new DefaultCacheFactory();
  |         Cache cache = factory.createCache(configFileName);
  |         InitialContext ctx = new InitialContext();
  |         ctx.bind("fleetcycle/cache/jboss-cache", cache);

Is there any way to safely bind a JBC cache instance to JNDI?

View the original post : http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4237125#4237125

Reply to the post : http://www.jboss.org/index.html?module=bb&op=posting&mode=reply&p=4237125

More information about the jboss-user mailing list