首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > 其他服务器 >

一个treecache缓存集群的有关问题

2012-03-26 
一个treecache缓存集群的问题各位好,最近在玩jboss和treecache,真是折磨人啊.我现在遇到一个treecache的问

一个treecache缓存集群的问题

各位好,最近在玩jboss和treecache,真是折磨人啊.我现在遇到一个treecache的问题,我配置的集群设置,似乎没有生效,配置内容如下:

<attribute name="ClusterConfig">
  <config>
  <UDP mcast_addr="224.0.0.1" mcast_port="48866"
  ip_ttl="64" ip_mcast="true"
  mcast_send_buf_size="150000" mcast_recv_buf_size="80000"
  ucast_send_buf_size="150000" ucast_recv_buf_size="80000"
  loopback="true"/>
  <PING timeout="2000" num_initial_members="3"
  up_thread="false" down_thread="false"/>
  <MERGE2 min_interval="10000" max_interval="20000"/>
  <FD shun="true" up_thread="true" down_thread="true" />
  <!-- <FD_SOCK/>-->
  <VERIFY_SUSPECT timeout="1500"
  up_thread="false" down_thread="false"/>
  <pbcast.NAKACK gc_lag="50" retransmit_timeout="600,1200,2400,4800"
  max_xmit_size="8192" up_thread="false" down_thread="false"/>
  <UNICAST timeout="600,1200,2400" window_size="100" min_threshold="10"
  down_thread="false"/>
  <pbcast.STABLE desired_avg_gossip="20000"
  up_thread="false" down_thread="false"/>
  <FRAG frag_size="8192"
  down_thread="false" up_thread="false"/>
  <pbcast.GMS join_timeout="5000" join_retry_timeout="2000"
  shun="true" print_local_addr="true"/>
  <pbcast.STATE_TRANSFER up_thread="true" down_thread="true"/>
  </config>
  </attribute>



而我对缓存进行的操作是:第一次查询的时候,把结果放到缓存中,第二次查询的时候,判断缓存中内容是否为null,如果是,查数据库,如果不是,则从缓存中读取,相关代码如下:

 List messageList = new ArrayList();
  Object obj=cache.get("/bbs/list", "message");
  
 
  log.info("cache1------------------"+obj);
  if(obj==null){
  messageList=messageManager.getMessageList(messageForm.getRootId());
  cache.put("/bbs/list","message",messageList);
  }else{
  messageList=(List)obj;
  }

添加数据的时候,我会把缓存的值设置成null,像这样:

cache.put("/bbs/list", "message",null);

我遇到的问题是:两台机器只用级联线连接,互相能访问,但是两太机器的缓存都生效时,我做了如下操作:

1:我在2台机器上都做了查询操作,因为连接同一个库,结果当然一样

2:我在server1上增加数据,然后又进行了一次查询,server1上的结果变了,但是server2上的缓存似乎没接到通知,仍然没有改变

以前用过jcs,这种操作很简单,但是其稳定性很不好,不知道我这样操作treecache是否有问题,拜请各位高手指教指教


[解决办法]
1、配置没有问题
2、default模式可以使用jbosscache的集群服务,但是需要将jgroups.jar拷贝到default/lib目录下
3、你遇到的问题是不是代码的问题,给一段测试过的代码:
TreeCache cache = new TreeCache();
PropertyConfigurator config = new PropertyConfigurator();
config.configure(cache, "META-INF/cache-service.xml");
cache.startService();

热点排行