因系统要实现集群功能,在摸着石头过河一段时间后,利用ehcache实现集群效果,特记下来.一供自己总结知识要点,二供有此需要的网友一些示例.
对应的配置文件:EhcacheClusterRMIManualIP_200.xml内容为:
共有:RMI 自动发现,手动发现,JGroups UDP协议,JGroups TCP协议四种具体的实现.并会给出一些自己在处理过程中遇到的常见错误.
一、类包
二、计算机节点和源码
示例中有两台计算机,ip分别用192.168.0.200,192.168.0.201。分别简称:200计算机,201计算机。
在200计算机上运行的java主类名为:EhcacheClusterRMIManualIP_200,201计算机上运行的主类为:EhcacheClusterRMIManualIP_201
这两个类不同处理是使用了不同的配置文件。
EhcacheClusterRMIManualIP_200 继承BaseCacheManager 中的main方法如下:
public static void main(String[] args) throws UnknownHostException, InterruptedException {
EhcacheClusterRMIManualIP_200 clusterA = new EhcacheClusterRMIManualIP_200();
String ehcacheConfigFile = null;
if (args.length == 1) {
ehcacheConfigFile = args[0];
} else {
ehcacheConfigFile = "EhcacheClusterRMIManualIP_200.xml";
}
URL configUrl = clusterA.setEhcacheConfig(ehcacheConfigFile);
clusterA.createMessage(configUrl, 2);
}
对应的配置文件:EhcacheClusterRMIManualIP_200.xml内容为:
<?xml version="1.0" encoding="gbk"?>
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ehcache.xsd">
<diskSto