wood burning stoves*
The moose likes JForum and the fly likes JForum 2.1.8 cache implementations and cluster deployment Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Java 8 in Action this week in the Java 8 forum!
JavaRanch » Java Forums » Products » JForum
Bookmark "JForum 2.1.8 cache implementations and cluster deployment" Watch "JForum 2.1.8 cache implementations and cluster deployment" New topic
Author

JForum 2.1.8 cache implementations and cluster deployment

Migrated From Jforum.net
Ranch Hand

Joined: Apr 22, 2012
Posts: 17424
Hi all,
I know that JForum doesn't officially support cluster deployment (I discovered it late, it should be clearly stated in the Features and Support pages of this site).
Since cluster deployment is a must for my installation I'm examining how to make it work.
I know that JBoss cache implementation is supposed to work in cluster but I wonder if anyone has never used it: examining the source code it seems that it is buggy!

The CacheEngine interface has this method:

It returns a generic Object so it is not clear how the caller should use it (design bug, I think). The class PostRepository casts the returned Object to a Map so any CacheEngine implementation that doesn't return a Map will not work!
Actually DefaultCacheEngine returns a Map but JBossCacheEngine returns org.jboss.cache.DataNode so it cannot work!

I'm not testing on JBoss because I have to deploy on BEA WebLogic so I examined EhCacheEngine too: same problem, the get() method returns net.sf.ehcache.Cache which is not a Map. Furtermore the Ehcache library included with JForum is very old and doesn't support cluster replication (the latest one does).

Besides this problem with that method the EhCacheEngine doesn't work for some other issue I have not yet solved. Other persons have written about this issue: a call to us.isAdmin() crashes. Also you cannot use the overflowToDisk option unless you change the names of some cache instance in the code.

I've also tried to implement a CacheEngine that uses BEA caching system and I have noted two requisites that are not clearly documented: any cache implementation must have infinite TTL because the code doesn't automatically reload expired data, for the same reason (no autoreload) the cache must replicate across the cluster using copy, not invalidation. BEA cache supports invalidation only, Ehcache supports both strategies.

I'm writing this post to share what I have discovered so far both with other users and with Rafael (I hope Rafael can help to solve this issue) and also to ask if someone has solved cluster deployment issues.

I'm considering disabling caching completely but I suspect it is not a solution and also is not yet clear if it possible. In the config file I see the following options:


I suspect they don't disable all caches, right?

Any help is appreciated.

Thank you.


Pino

[originally posted on jforum.net by Pino.OW]
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: JForum 2.1.8 cache implementations and cluster deployment
 
Similar Threads
Scaling JForums
jforum and clusters
Any Insight on how JavaRanch scales
Can JForum support web cluster?
portlet content caching